问题概述
关于这个问题,博主是在npm打包构建转到yarn打包构建时遇到的,
通过yarn打包构建项目工程时,失败:“ yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本 ”
具体信息如下:
yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ yarn
+ ~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
如下图:
解决办法
关于这个问题,PowerShell 脚本的执行有着严格的安全策略限制!只需要修改以下策略即可,
“ 管理员身份启动 ”
Windows PowerShell
修改执行策略,
输入指令:set-ExecutionPolicy RemoteSigned,如下图:
再通过yarn执行打包构建项目工程就可以了!!!
关于 PowerShell
1、PowerShell管理执行策略常用指令
获取有效的执行策略,输入指令:
Get-ExecutionPolicy
获取影响当前会话的所有执行策略,并按优先顺序显示,输入指令:
Get-ExecutionPolicy -List
获取当前用户(CurrentUser)范围的执行策略,输入指令:
Get-ExecutionPolicy -Scope CurrentUser
可以看到有效的执行策略是 RemoteSigned ,因为当前用户的执行策略优先于本地计算机的执行策略集。若要获取特定范围(Scope)的执行策略集,则使用Scope参数设值。
若要更改 Windows 计算机上的 PowerShell 执行策略,请使用 Set-ExecutionPolicy,更改立即生效,无需重启 PowerShell。
更改执行策略,输入指令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
更改在特定范围内设置执行策略,则输入指令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
删除本地计算机所有用户的执行策略,输入指令:
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
删除某个Scope的执行策略,输入指令:
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
2、 PowerShell 执行策略
序号 | 策略名称 | 说明 |
---|---|---|
1 | Default | 1、设置默认执行策略; 2、Restricted 适用于 Windows 客户端; 3、适用于 Windows 服务器的 RemoteSigned; |
2 | AllSigned | 1、脚本可以运行; 2、要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本; 3、在从尚未分类为受信任的或不受信任的发布者运行脚本之前,会提示你; 4、运行已签名但恶意脚本的风险; |
3 | Bypass | 1、不阻止任何操作,并且没有任何警告或提示; 2、此执行策略适用于 PowerShell 脚本内置于更大的应用程序或 PowerShell 是具有其安全模型的程序的基础的配置; |
4 | RemoteSigned | 1、Windows 服务器计算机的默认执行策略; 2、脚本可以运行; 3、需要来自受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名; 4、不需要对在本地计算机上编写的脚本(而不是从 Internet 下载)进行数字签名; 5、如果脚本被取消阻止,则运行从 Internet 下载且未签名的脚本,例如使用 Unblock-File cmdlet; 6、从 Internet 以外的源运行未签名脚本的风险,以及可能是恶意的签名脚本; |
5 | Restricted | 1、Windows 客户端计算机的默认执行策略; 2、允许单个命令,但不允许脚本; 3、防止运行所有脚本文件,包括格式化和配置文件 () .ps1xml 、模块脚本文件 (.psm1) ,以及 powerShell 配置文件 (.ps1) ; |
6 | Undefined | 1、当前范围内没有设置执行策略; 2、如果所有范围内的执行策略为 Undefined,则有效的执行策略适用于 Restricted Windows 客户端和适用于 Windows Server 的 RemoteSigned ; |
7 | Unrestricted | 1、非 Windows 计算机的默认执行策略,无法更改; 2、未签名的脚本可以运行,存在运行恶意脚本的风险; 3、在运行不是来自本地 Intranet 区域的脚本和配置文件之前,警告用户; |
参考:
【Express4.x-API Reference】
3、 PowerShell 执行策略范围
序号 | 范围名称 | 说明 |
---|---|---|
1 | MachinePolicy | 为计算机的所有用户设置组策略 |
2 | UserPolicy | 为计算机的当前用户设置组策略 |
3 | Process | 范围 Process 仅影响当前的 PowerShell 会话。 执行策略保存在环境变量 $env:PSExecutionPolicyPreference中,而不是注册表。 关闭 PowerShell 会话后,将删除变量和值 |
4 | CurrentUser | 执行策略仅影响当前用户。 它存储在 HKEY_CURRENT_USER 注册表子项中 |
5 | LocalMachine | 执行策略会影响当前计算机上的所有用户。 它存储在 HKEY_LOCAL_MACHINE 注册表子项中 |
参考:
【about_Execution_Policies】
【Get-ExecutionPolicy】
【Set-ExecutionPolicy】文章来源:https://www.toymoban.com/news/detail-795270.html
好了,关于 yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本 PowerShell 执行策略配置教程 的解决办法 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。文章来源地址https://www.toymoban.com/news/detail-795270.html
作 者: | 华 仔 |
联系作者: | who.seek.me@java98k.vip |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/127005083 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |
到了这里,关于yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本 PowerShell 执行策略配置教程 的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!