【问题标题】:Why powershell does not run Angular commands?为什么 powershell 不运行 Angular 命令?
【发布时间】:2019-09-20 17:11:21
【问题描述】:

我已经开始学习 Angular,但我注意到 Windows 中的 powershell 每当我执行以下 angular 命令时都会出现错误:

ng new new-app

ng serve

这是我得到的错误:

ng : File C:\Users\< username >\AppData\Roaming\npm\ng.ps1 cannot be loaded because 
running scripts is disabled on this system. For more information, see 
about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ ng serve
+ ~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

附:我在 cmd 中尝试了这些命令,它可以工作。

【问题讨论】:

  • 你能运行Get-ExecutionPolicy 并提供输出吗?另外你能不能跑到C:\Users\&lt; username &gt;\AppData\Roaming\npm打开ng.ps1的属性,看看是否有一个勾选框显示“已阻止”,如果有,请取消勾选。
  • 我认为最好的方法是删除 ng.ps1 当我做了一切都再次工作
  • @TheFabio 实际上可能我永远不会知道,在删除 ng.ps1 之后一切都进行得很完美。
  • 我的执行政策不是问题,而是我如何发送论点。如果你在同一条船上,请查看Executing Angular Serve From Powershell With Parameters Fail
  • 为什么会被标记为重复?它绝对不是重复的。虽然报错信息一样,但是解决方法完全不同

标签: javascript angular powershell angular-cli


【解决方案1】:

从目录C:\Users\%username%\AppData\Roaming\npm\ 中删除ng.ps1,然后尝试清除C:\Users\%username%\AppData\Roaming\npm-cache\ 的npm 缓存

【讨论】:

  • 仅供参考,我不需要清除缓存。
  • 这是现场直播!
  • 很好,但为什么呢?它是从以前的 Angular 安装遗留下来的并且不再被正确调用吗?为什么它不再起作用了?
  • 其实我也不知道。我什至没有在任何地方找到任何提及该文件的内容,所以我认为该文件真的没有必要,所以我只是将其删除
  • 在没有清理现金的情况下工作
【解决方案2】:

我通过运行以下命令解决了我的问题

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

【讨论】:

  • 这对我有用,谢谢
  • 这应该是新安装的正确答案。
  • 这似乎是对的,但很不可靠。
  • 这在我们无法设置这些权限的某些企业环境中失败。
【解决方案3】:

script1.ps1 无法加载,因为运行脚本被禁用 这个系统。有关详细信息,请参阅 about_Execution_Policies,网址为 http://go.microsoft.com/fwlink/?LinkID=135170

此错误的发生是由于一项安全措施,未经您的批准不允许在您的系统上执行脚本。您可以通过打开具有管理权限的 powershell(在主菜单中搜索 powershell 并从上下文菜单中选择以管理员身份运行)并输入:

set-executionpolicy remotesigned

【讨论】:

  • 为什么我特别需要这样做,当其他人没有与我相同版本的相同问题时?
【解决方案4】:

打开windows powershell,以管理员身份运行,并将SetExecution策略设置为Unrestricted,然后它就可以工作了。

【讨论】:

  • 欢迎来到 SO,通过提供有效的命令来完成您的答案
  • 这是一个非常糟糕的建议,因为它打开了在您的系统上运行任何 PowerShell 脚本的大门。
  • 如上一个答案中所述,Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 是一种更好的方法,因为它不太容易打开您的系统以运行恶意脚本。 RemoteSigned 1) 脚本必须由受信任的发布者签名。 2) 范围设置为当前用户,而不是默认的 LocalMachine。有关更多详细信息,请参阅 Microsoft 的文档。 docs.microsoft.com/en-us/powershell/module/…
猜你喜欢
  • 2020-01-21
  • 2012-02-14
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 2018-09-29
  • 1970-01-01
  • 2023-04-06
  • 2016-04-26
相关资源
最近更新 更多