npm -v npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。来看看永久修改执行策略!
VSCODE终端执行PS C:\Users\86188> npm -v npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参 阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + npm -v + ~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess 报错了
这个错误是因为 PowerShell 的执行策略(Execution Policy) 默认禁止运行脚本(包括 npm 的 .ps1 脚本)。以下是几种解决方法:
方法 1:临时允许脚本执行(仅当前会话有效)
在 VS Code 终端 运行以下命令:
powershell
Copy Code
Set-ExecutionPolicy Bypass -Scope Process -Force
然后再次运行 npm -v,应该可以正常执行。
⚠️ 注意:关闭终端后,策略会恢复默认限制。
方法 2:永久修改执行策略(推荐)
以管理员身份打开 PowerShell(右键开始菜单 → “Windows PowerShell(管理员)”)。
运行以下命令:
powershell
Copy Code
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned:允许运行本地脚本,远程脚本需签名。
-Scope CurrentUser:仅对当前用户生效,不影响系统全局。
输入 Y 确认更改。
重新打开 VS Code 终端,再试 npm -v。
方法 3:改用 CMD 终端(绕过限制)
在 VS Code 中:
按 Ctrl+Shift+P → 输入 Terminal: Select Default Profile → 选择 Command Prompt。
新开的终端会变成 CMD,直接运行 npm -v 即可(CMD 不受 PowerShell 策略限制)。
方法 4:直接运行 npm.cmd
npm 在 Windows 下会同时安装 npm.ps1 和 npm.cmd,可以显式调用 .cmd 版本:
powershell
Copy Code
npm.cmd -v
这样会绕过 PowerShell 的脚本限制。
为什么会出现这个问题?
Windows 默认限制 PowerShell 运行脚本,防止恶意代码执行。
npm 在 Windows 上依赖 npm.ps1 脚本,因此受此策略影响。
如果仍有问题,可以检查:
Node.js 是否安装正确(运行 node -v 是否正常)。
C:\Program Files\nodejs\ 目录下是否有 npm.ps1 文件(如果被误删,需重装 Node.js)。
希望这些方法能帮你解决问题! 😊