解决 yarn.ps1 cannot be loaded because the execution of scripts is disabled on this system 错误
今天使用 yarn 安装 ejs 模板引擎,运行命令后却得到了这个错误:
File C:\Program Files\nodejs\yarn.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. At line:1 char:5 + yarn <<<< add egg-view-ejs + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException
原因
原来是命令行默认不允许执行 *.ps1 脚本文件。运行 ps1 文件会得到上面的错误,可以通过 Get-ExecutionPolicy,来取得当前策略,用Set-ExecutionPolicy 设置当前策略。
解决方法
下面的命令可以解决上面的错误:
Set-ExecutionPolicy RemoteSigned
上面的代码我在执行的手,什么都没有输出,但是在此安装 npm 包的时候,就一切正常了:
Policy 的有效参数
- -- Restricted: 不载入任何配置文件,不运行任何脚本。 "Restricted" 是默认的。
- -- AllSigned: 只有被Trusted publisher签名的脚本或者配置文件才能使用,包括你自己再本地写的脚本
- -- RemoteSigned: 对于从Internet上下载的脚本或者配置文件,只有被Trusted publisher签名的才能使用。
- -- Unrestricted: 可以载入所有配置文件,可以运行所有脚本文件. 如果你运行一个从internet下载并且没有签名的脚本,在运行之前,你会被提示需要一定的权限。
- -- Bypass: 所有东西都可以使用,并且没有提示和警告.
- -- Undefined: 删除当前scope被赋予的Execution Policy. 但是Group Policy scope的Execution Policy不会被删除.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经测试,直接在 cmd 里面执行会提示找不到命令,需要在 windows powershell 执行才可以。