在vscode上运行pnpm install时提示:pnpm : 无法加载文件 D:installnvmnodejspnpm.ps1,因为在此系统上禁止运行脚本,这个问题该如何解决呢?

问题原因

产生该问题的原因就是因为Power Shell的执行策略限制了脚本的执行。我们可以通过如下指令查看当前Power Shell的执行策略:

Get-ExecutionPolicy 

我们发现是Restricted默认策略,那这些策略什么意思呢?

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

解决办法

解决办法很简单,如果你是Restricted默认策略,那执行以下指令改为Unrestricted策略即可:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process 

如果你是 AllSigned 或 RemoteSigned策略,执行以下指令改为Unrestricted策略:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process -Force 

最后再去执行pnpm install发现就可以正常执行指令了,就是这么简单。