powershell:报错npm : 无法加载文件 D:\develop\nodejs\npm.ps1,因为在此系统上禁止运行脚本

发布于:2025-03-01 ⋅ 阅读:(141) ⋅ 点赞:(0)

问题 

原因分析

由于 ​PowerShell 的执行策略(Execution Policy)​​ 限制导致的。Windows 系统默认禁止运行未签名的脚本(包括 npm 脚本),因此运行 npm run dev 时,PowerShell 阻止了脚本的执行。

解决方案

这个错误是由于 ​PowerShell 的执行策略(Execution Policy)​​ 限制导致的。Windows 系统默认禁止运行未签名的脚本(包括 npm 脚本),因此当你运行 npm run dev 时,PowerShell 阻止了脚本的执行。


解决方法

以下是几种常见的解决方法:


方法 1:临时更改执行策略
  1. 以管理员身份打开 PowerShell。
  2. 运行以下命令,将执行策略临时更改为 RemoteSigned
    Set-ExecutionPolicy RemoteSigned -Scope Process
  3. 再次运行 npm run dev,据应该可以正常执行。

注意:这种方法只会对当前 PowerShell 会话生效,关闭后策略会恢复默认值。


方法 2:永久更改执行策略
  1. 以管理员身份打开 PowerShell。
  2. 运行以下命令,将执行策略永久更改为 RemoteSigned
    Set-ExecutionPolicy RemoteSigned
  3. 确认更改:

输入 Y 并按回车键。

再次运行 npm run dev,应该可以正常执行。

注意:这种方法会永久更改执行策略,可能会影响系统安全性。如果担心安全问题,可以使用 ​方法 1


方法 3:绕过执行策略
  1. 打开 PowerShell。
  2. 在运行 npm run dev 时,使用 bypass 参数绕过执行策略:
    npm run dev --bypass
  3. 如果仍然不行,可以尝试直接运行以下命令:
    powershell -ExecutionPolicy Bypass -Command "npm run dev"

方法 4:使用 CMD 代替 PowerShell

如果你不想修改执行策略,可以直接使用 ​CMD(命令提示符)​​ 来运行命令:

  1. 打开 CMD。
  2. 运行以下命令:
    npm run dev
  3. 这样可以避免 PowerShell 的执行策略限制。

方法 5:检查 npm 脚本路径

如果错误信息中提到 npm.ps1 文件无法加载,可能是因为 npm 的安装路径或环境变量配置有问题。可以尝试以下步骤:

  1. 检查 npm 是否安装正确:
    npm -v
  2. 如果 npm 未正确安装,重新安装 Node.js 和 npm。
  3. 确保 npm 的路径已添加到系统环境变量 PATH 中:

默认路径为:C:\Program Files\nodejs\

如果路径缺失,手动添加到 PATH 中。