项目场景:
win11安装好node-v22.16.0-x64.msi以后,运行npm -v
出现这个错误。
问题描述
原因分析:
当你在 Windows 系统上尝试运行一个 npm 脚本或执行 npm 命令时,如果遇到错误信息 “无法加载文件 C:\Program Files\nodejs\npm.ps1, 因为在此系统上禁止运行脚本”,这通常意味着 Windows 的执行策略设置为禁止运行 PowerShell 脚本。默认情况下,Windows 可能出于安全考虑,限制了脚本的执行。
解决方案:
方法1:修改 PowerShell 的执行策略(推荐)
打开 PowerShell:以管理员身份运行 PowerShell。你可以通过在开始菜单搜索“PowerShell”,然后右键点击“Windows PowerShell”,选择“以管理员身份运行”。
设置执行策略:在 PowerShell 窗口中,输入以下命令并按回车:
Set-ExecutionPolicy RemoteSigned
这个命令会将执行策略设置为允许运行本地脚本和远程签名的脚本,但阻止未签名的本地脚本。
确认更改:系统可能会提示你确认更改执行策略。如果看到提示,请输入 Y 并按回车键确认。
方法2:临时绕过执行策略(不推荐长期使用)
如果你只是想临时运行某个 npm 命令,可以临时绕过执行策略限制,方法如下:
打开 PowerShell:以管理员身份运行 PowerShell。
绕过执行策略:在 PowerShell 窗口中,输入以下命令并按回车:
Set-ExecutionPolicy Bypass -Scope Process
这个命令会暂时绕过执行策略,仅对当前 PowerShell 进程有效。
执行你的 npm 命令:在绕过执行策略后,你可以正常执行你的 npm 命令。
重置执行策略(可选):完成操作后,为了安全起见,可以重置执行策略到默认设置或你选择的策略。使用以下命令:
Set-ExecutionPolicy RemoteSigned
实例代码(例如安装一个 npm 包)
假设你想安装一个名为 example-package 的 npm 包,你可以在 PowerShell 中使用以下命令:
npm install example-package
确保在尝试安装之前已经按照上述方法之一修改了 PowerShell 的执行策略。如果你选择了临时绕过执行策略的方法,请记得在操作完成后重置执行策略。