问题背景
使用npm
全局安装cnpm
包后,试图在PowerShell和终端中运行cnpm
,但是遭遇了如下错误:
cnpm : 无法加载文件 D:\env\nodeJs\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft
.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
错误的原因
该错误是由于PowerShell的默认安全策略所致。简而言之,为了安全起见,PowerShell默认设置不允许用户执行未签名的脚本。由于cnpm
被视为一个脚本,它被PowerShell拦截并禁止执行。
解决方案
为了绕过这个问题,我们可以临时更改PowerShell的执行策略。这里的步骤如下:
-
打开PowerShell(以管理员权限运行)。
-
输入以下命令,将执行策略设置为
Unrestricted
:Set-ExecutionPolicy Unrestricted
-
系统会询问是否确认更改,键入
Y
然后按Enter
。
完成以上步骤后,我们就可以在PowerShell中无阻碍地运行cnpm
或其他脚本了。