1.问题描述

Windows 环境下,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。

2. 问题分析

2.1 问题原因

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

2.2 策略说明

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

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

3. 解决方案

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

3.1 打开命令行工具

以管理员权限打开Windows PowerShell

3.2 修改策略

输入以下指令

Set-ExecutionPolicy RemoteSigned

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

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