Win10系统PowerShell运行yarn提示脚本执行被禁用如何解决?
PowerShell 运行yarn提示脚本禁止执行的解决办法
报错原因
PowerShell默认的执行策略禁止运行未签名的.ps1脚本,yarn安装时生成的yarn.ps1属于未签名脚本,所以触发报错;Git Bash不使用PowerShell的执行策略规则,因此可以正常运行。
解决方法
方法1:临时调整当前PowerShell会话的执行策略(仅本次生效,关闭终端后自动恢复)
- 打开PowerShell终端,执行如下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
- 弹出确认提示时输入
Y回车确认即可,当前会话就可以正常运行yarn命令。
方法2:永久调整执行策略(安全性较高)
- 仅对当前Windows用户生效:以普通用户身份打开PowerShell,执行如下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- 对设备所有用户生效:以管理员身份打开PowerShell,执行如下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
- 弹出确认提示时输入
Y回车确认,后续打开的PowerShell会话都可以正常运行yarn。
注意:RemoteSigned策略允许运行本地编写的未签名脚本,仅要求从互联网下载的脚本有可信签名才能运行,不会带来明显的安全风险。
方法3:无需修改执行策略的替代方案
如果不想调整系统策略,每次调用yarn时直接指定使用cmd版本即可,执行命令:
yarn.cmd
也可以在PowerShell中配置别名把yarn指向yarn.cmd,即可正常使用yarn命令。
内容的提问来源于stack exchange,提问作者Mamirjon Mamadaliev
相关产品推荐
相关产品推荐

