npm安装Yarn后无法调用yarn命令,yarn.cmd可正常运行,疑为路径问题?
问题解决:yarn命令报错但yarn.cmd正常运行
这不是路径问题,根源是PowerShell的脚本执行策略限制。
原因说明
通过npm安装Yarn后,会在C:\Users\mattj\AppData\Roaming\npm目录下生成两个启动文件:
yarn.ps1:PowerShell脚本格式yarn.cmd:CMD批处理格式
当你在PowerShell中直接输入yarn时,系统会优先调用.ps1后缀的脚本,但你的系统当前禁用了PowerShell脚本的运行权限,因此触发UnauthorizedAccess安全错误;而yarn.cmd属于CMD批处理文件,不受PowerShell执行策略的约束,所以能正常执行。
解决方法
1. 临时/永久放宽执行策略(推荐)
在PowerShell中执行以下命令,允许当前用户运行本地签名脚本:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
执行后会弹出确认提示,输入Y即可生效。这个策略既保证了本地脚本的可用性,又对未签名的远程脚本做了限制,安全性较高。
2. 直接使用yarn.cmd(无需改配置)
如果不想调整执行策略,每次执行Yarn命令时直接指定.cmd后缀即可,比如:
yarn.cmd --v yarn.cmd install
内容的提问来源于stack exchange,提问作者Matt Jaf
相关产品推荐
相关产品推荐

