【问题标题】:How to fix "running scripts is disabled on this system"?如何修复“在此系统上禁用运行脚本”?
【发布时间】:2021-02-14 09:53:36
【问题描述】:

当我尝试在 VS Code 的终端中运行 ionic serve 之类的离子命令时,会出现以下错误。我该如何解决这个问题?

ionic : File C:\Users\Lakshan\AppData\Roaming\npm\ionic.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
+ ~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我找到了解决此错误的方法。如下,

    首先以以管理员身份运行打开powerShell

    然后,在 PowerShell 中运行此命令 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    在此之后输入Y 并按回车键。

    【讨论】:

    • “无限制”执行策略通常被认为是有风险的。更好的选择是“远程签名”,它不会阻止在本地创建和存储的脚本,但会阻止从 Internet 下载的脚本运行,除非您专门检查并取消阻止它们。
    【解决方案2】:

    这是因为执行策略。这定义了 powershell 脚本的运行方式。

    在默认的 windows 桌面中,它是受限制的,不允许任何脚本(签名或未签名)仅交互式会话。

    所以最好使用RemoteSigned(Windows Server 上的默认设置)进行设置,只允许远程签名的脚本和本地未签名的脚本运行,但Unrestriced 不安全,让所有脚本运行。

    设置以管理员身份运行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    【讨论】:

      【解决方案3】:

      要绕过这一点,您需要更改执行策略。 在您的终端中输入此内容。

      Set-ExecutionPolicy -Scope CurrentUser
      

      然后它会提示您提供一个值,此时您可以设置 Bypass / RemoteSigned 或 Restricted。

      cmdlet Set-ExecutionPolicy at command pipeline position 1
      Supply values for the following parameters:
      ExecutionPolicy: "RemoteSigned" or "Bypass" or "Restricted".
      

      【讨论】:

        猜你喜欢
        • 2013-07-16
        • 2019-07-13
        • 2018-06-08
        • 2022-11-10
        • 2021-10-27
        • 2017-04-28
        • 2020-03-06
        • 2021-02-22
        • 2023-02-13
        相关资源
        最近更新 更多