VsCode 输入 yarn 或者 pnpm 报错,禁止运行脚本

208 阅读2分钟

记录一下 报错显示,因为在此系统上禁止运行脚本,初步判断是执行策略的问题

PowerShell 执行策略概述

PowerShell 的执行策略用于确定脚本的执行权限。默认情况下,某些策略可能会限制脚本的运行,这可能导致你在运行 yarnpnpm 时遇到错误。

常见执行策略

  1. Restricted:不允许任何脚本运行(默认设置)。
  2. AllSigned:只有经过签名的脚本可以运行。
  3. RemoteSigned:从互联网下载的脚本必须经过签名才能运行。
  4. Unrestricted:所有脚本都可以运行,可能会提示安全警告。

检查当前执行策略

使用以下命令检查当前的执行策略:

Get-ExecutionPolicy

如果返回结果是 Restricted 或其他限制性策略,你可能需要更改它。

修改执行策略

要将执行策略更改为 Unrestricted,可以使用以下命令:

Set-ExecutionPolicy Unrestricted

执行策略的更改步骤

  1. 打开 PowerShell:以管理员身份运行 PowerShell。
  2. 检查当前策略:运行 Get-ExecutionPolicy 查看当前策略。
  3. 修改策略:运行 Set-ExecutionPolicy Unrestricted
  4. 确认更改:系统可能会提示确认,输入 Y 以确认。

注意事项

  • 安全性:将执行策略设置为 Unrestricted 可能会增加安全风险,建议在完成需要的操作后,考虑将其恢复为更安全的策略(如 RemoteSigned)。
  • 作用范围:可以通过 -Scope 参数指定策略的作用范围,例如 -Scope CurrentUser 仅对当前用户有效。

恢复默认策略

如果你希望恢复到更安全的策略,可以使用:

Set-ExecutionPolicy RemoteSigned

总结

通过调整 PowerShell 的执行策略,你可以解决脚本运行问题,但要注意安全性,确保在完成必要操作后,考虑恢复到更安全的设置。