问题

PowerShell中运行npm出现以下错误

npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

原因分析

该错误是由于Windows系统的PowerShell默认执行策略为Restricted​,该策略禁止所有脚本运行,包括npm.ps1等第三方工具脚本。

解决

通过 PowerShell 执行以下命令查看现有的执行策略

get-executionpolicy

通过 PowerShell(以管理员方式运行) 执行以下命令将执行策略更改为 RemoteSigned​

 set-executionpolicy remotesigned

策略详解

策略级别

描述

安全等级

Restricted

默认策略,禁止所有脚本运行

⭐⭐⭐⭐

RemoteSigned

允许本地脚本,远程脚本需数字签名(推荐方案)

⭐⭐⭐

Unrestricted

允许所有脚本但弹出警告

⭐⭐

Bypass

完全跳过安全检查