PowerShell 执行策略导致 npm.ps1 无法运行解决方法
在 Windows 环境安装 Node.js 后,执行 npm 命令时,可能会遇到以下错误:
无法加载文件 npm.ps1,因为在此系统上禁止运行脚本。
或者类似:
npm : 无法加载文件 xxx\npm.ps1,因为在此系统上禁止运行脚本。
1、问题原因
这个问题并不是 Node.js 或 npm 安装失败导致的。
原因是 PowerShell 执行策略(Execution Policy)限制了脚本运行。
PowerShell 默认可能禁止执行 .ps1 脚本,而 npm 在 PowerShell 环境下会调用 npm.ps1 文件,因此导致 npm 命令无法正常执行
2、推荐解决方法
打开 PowerShell(建议以管理员身份运行),执行:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
执行后,根据提示输入:Y
确认修改。
3. 验证 npm 是否恢复正常
关闭当前 PowerShell 窗口,重新打开终端。
执行:
npm -v
如果正常显示 npm 版本号,例如:
10.x.x
说明问题已经解决。
补充说明
PowerShell 执行策略共有多个级别:
-
Restricted:默认策略,不允许执行脚本; -
RemoteSigned:允许执行本地脚本,网络下载脚本需要签名; -
Unrestricted:允许执行所有脚本,但安全性较低。
对于日常开发环境,推荐使用:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
该配置只影响当前用户,不会修改系统全局策略。
浙公网安备 33010602011771号