pnpm 执行异常:无法加载文件 pnpm.ps1,因为在此系统上禁止运行脚本

1,393 阅读1分钟

windowOS 环境下,pnpm 首次执行指令时控制台提示脚本权限问题

通过 npm install pnpm -g 安装 pnpm 后,通过 pnpm --version 检查是否成功安装时,得到异常:

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

分析

1. 问题原因

查看命令行信息与提示链接,可知是由于Power Shell的执行策略限制了脚本的执行,导致 pnpm.ps1 执行失败。

2. 策略说明

使用以下指令可以查看到当前脚本执行的策略:

$ Get-ExecutionPolicy
  • Restricted:默认策略,禁止运行任何脚本,除非明确允许。
  • AllSigned:只允许运行经由数字签名并由受信任的发布者签名的脚本。
  • RemoteSigned:允许运行未经签名的脚本,但是必须由受信任的发布者在本地计算机上签名。
  • Unrestricted:允许运行所有脚本。

解决

根据 策略说明 中的四个策略信息,一般推荐使用 RemoteSigned

1. 以管理员权限打开命令行工具 Windows PowerShell

2. 修改策略

输入以下指令

$ Set-ExecutionPolicy RemoteSigned

执行指令后,需要再次确认指令修改,按提示输入 Y

至此,可以正常使用 pnpm 工具了。