You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nodemon无法启动报错:nodemon.ps1因系统禁用脚本运行无法加载

报错原因

该问题的核心原因有两个:

  1. PowerShell的执行策略优先级从高到低为:MachinePolicy > UserPolicy > Process > CurrentUser > LocalMachine。部分IDE内置终端(比如VS Code的PowerShell终端)启动时会临时将Process作用域的执行策略设为限制状态,优先级高于你配置的CurrentUser和LocalMachine策略,导致配置不生效。
  2. PowerShell的执行策略按架构(32位/64位)、版本(Windows PowerShell/PowerShell Core/pwsh)独立存储,你可能在A终端中配置了策略,但实际运行nodemon用的是另一个环境的B终端,两者的配置互不通用。

解决方法

  • 方法1:临时修改当前会话策略(单次生效,安全便捷)
    在你运行nodemon报错的终端内直接执行以下命令,完成后再启动nodemon即可:

    Set-ExecutionPolicy RemoteSigned -Scope Process -Force
    

    该配置仅对当前打开的终端窗口有效,关闭后自动恢复,不会影响系统全局安全设置。

  • 方法2:匹配当前Shell环境配置永久策略
    首先在报错的终端中执行以下命令,确认当前环境的实际执行策略:

    Get-ExecutionPolicy -List
    

    如果当前Shell的CurrentUser作用域不是RemoteSigned,直接在当前终端执行:

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
    

    重启终端后即可永久生效。

  • 方法3:绕开PowerShell脚本执行限制(无需修改策略)
    两种可选操作:

    1. 用npx启动nodemon:
      npx nodemon 你的项目启动文件.js
      
    2. 在项目package.json的scripts字段中配置启动命令:
      {
        "scripts": {
          "dev": "nodemon index.js"
        }
      }
      
      之后用npm run dev启动即可,不会触发PowerShell的脚本校验逻辑。
  • 方法4:删除PowerShell版nodemon启动脚本
    找到全局npm安装路径下的nodemon.ps1文件直接删除,系统会自动调用nodemon.cmd执行启动,完全规避PowerShell的脚本限制。

内容的提问来源于stack exchange,提问作者Mikhail Shamaev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:06:03