
PS C:\Users\10449> npm -v
npm : 无法加载文件 D:\node\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
- npm -v
+ CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
这个错误是因为 PowerShell 的执行策略(Execution Policy)限制了脚本的运行。默认情况下,PowerShell 的执行策略可能是 Restricted,这会阻止任何脚本的运行,包括 npm 命令。
以下是解决这个问题的步骤:
1. 检查当前的执行策略
- 打开 PowerShell(以管理员身份运行)。
- 运行以下命令检查当前的执行策略:
Get-ExecutionPolicy- 常见的执行策略包括:
Restricted:禁止运行任何脚本。AllSigned:只允许运行经过数字签名的脚本。RemoteSigned:允许运行本地脚本,但远程脚本必须经过数字签名。Unrestricted:允许运行所有脚本。
- 常见的执行策略包括:
2. 更改执行策略
为了允许运行 npm 命令,你可以将执行策略更改为 RemoteSigned 或 Unrestricted。
方法 1:临时更改执行策略
- 在 PowerShell 中运行以下命令:
Set-ExecutionPolicy RemoteSigned -Scope Process- 这将仅在当前 PowerShell 会话中更改执行策略,关闭 PowerShell 后会恢复默认设置。
方法 2:永久更改执行策略
- 以管理员身份运行 PowerShell。
- 运行以下命令:
Set-ExecutionPolicy RemoteSigned- 这将永久更改执行策略。
- 如果系统提示确认,输入
Y并按回车。
3. 验证更改
运行以下命令检查执行策略是否已更改:
Get-ExecutionPolicy- 如果显示
RemoteSigned或Unrestricted,说明更改成功。
- 如果显示
再次运行
npm -v检查是否正常工作:npm -v- 如果显示 npm 的版本号,说明问题已解决。
4. 如果问题仍然存在
如果更改执行策略后问题仍然存在,可以尝试以下方法:
方法 1:使用命令提示符(CMD)
- 打开命令提示符(CMD),而不是 PowerShell。
- 运行以下命令:
npm -v- 在 CMD 中,执行策略不会影响
npm命令。
- 在 CMD 中,执行策略不会影响
方法 2:修复 Node.js 安装
- 重新安装 Node.js:
- 访问 Node.js 官网 下载最新版本。
- 运行安装程序,确保选择 Add to PATH 选项。
- 重新打开 PowerShell 或 CMD,运行
npm -v检查是否正常工作。
5. 恢复执行策略(可选)
如果你不希望永久更改执行策略,可以在完成操作后将其恢复为默认值:
- 以管理员身份运行 PowerShell。
- 运行以下命令:
Set-ExecutionPolicy Restricted
