pnpm在powerShell中无法识别解决方案

问题报错

项目中使用pnpm的时候 pnpm error.png

报错原因

windows系统某些版本现用执行策略是 Restricted(默认设置),默认就是不能运行脚本,所以必须要手动更改系统执行策略,当然,不止pnpm,其他运行脚本的工具也可能会出现这个问题。

解决方案

更改执行策略

get-executionpolicy查看当前执行策略

搜狗截图20230816111535.png

可选择的执行策略

  • Restricted: 脚本不能运行(默认设置)
  • RemoteSigned: 在本地创建的脚本可以运行,网上下载的脚本无法运行
  • AllSigned: 仅当脚本由受信任的发布者签名时才能运行
  • Unrestricted: 允许所有脚本运行
  • Bypass:对脚本的执行不设任何的限制,任何脚本都可以执行,并且不会有安全性提示。
  • Undefined:表示没有设置脚本策略。当然此时会发生继承或应用默认的脚本策略。
  • -ExecutionPolicy PolicyName -Scope:Scope为执行策略作用域,可以获取或设置指定作用域区间的执行策略,比如当前用户(CurrentUser)、当前主机(LocalMachine)、当前进程等。如Get-ExecutionPolicy -Scope CurrentUser获取当前用户的执行策略;如Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine设置当前主机的执行策略为RemoteSigned

所以我们选择一个适合我们的执行策略设置一下就能解决这个问题,使用管理员身份打开Powershell,输入set-executionpolicy remotesigned后再输入Y确认更改 搜狗截图20230728160325.png 输入 pnpm -v,问题得到解决