如何修复错误 \- nodemon.ps1 无法加载,因为在此系统上禁用了运行脚本(没有安全风险)?

新手上路,请多包涵

终端错误: nodemon.ps1 无法加载,因为在此系统上禁用了运行脚本。有关详细信息,请参阅 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2 上的 about_Execution_Policies

我有一个解决方案来解决这个问题:

1. Open Windows PowerShell with Run as Administrator

2. Run this command: Set-ExecutionPolicy Unrestricted

这解决了问题,但这样系统会显示安全风险警告。

我的问题:有没有其他方法可以在没有安全风险的情况下解决这个问题?目标是使用 nodemon

原文由 CyberKing 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 953
2 个回答

我建议使用 RemoteSigned 而不是 Unrestricted ,并尽可能将策略限制为 CurrentUser

以管理员身份运行 Powershell,然后:

 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned :“Windows 服务器计算机的默认执行策略。”


除此之外,我不会太担心它,因为它不打算成为一种安全机制。请参阅 文档中的此引用:

“执行策略不是限制用户操作的安全系统。例如,当用户无法运行脚本时,可以通过在命令行键入脚本内容轻松绕过策略。相反,执行策略帮助用户设置基本并防止他们无意中违反规则。”

原文由 derekbaker783 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于不知道如何使用 Windows PowerShell 解决此错误的用户

  1. 打开 PowerShell(以管理员身份运行)
  2. 使用此命令检查当前执行策略
    Get-ExecutionPolicy
    # You should get 'Restricted'

  1. 运行此命令以使其“不受限制”
     Set-ExecutionPolicy Unrestricted

  1. 通过运行此命令再次检查执行策略是否已更改
    Get-ExecutionPolicy
    # You should get 'Unrestricted'

  1. 现在尝试在您的项目上运行 nodemon
     nodemon 'filename.js'

希望这会有所帮助

原文由 SandaliTP 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题