yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本 PowerShell 执行策略配置教程 的解决办法

问题概述

关于这个问题,博主是在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


好了,关于 yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本 PowerShell 执行策略配置教程 的解决办法  就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者: 华    仔
联系作者: [email protected]
来        源: CSDN (Chinese Software Developer Network)
原        文: https://blog.csdn.net/Hello_World_QWP/article/details/127005083
版权声明: 本文为博主原创文章,请在转载时务必注明博文出处!

猜你喜欢

转载自blog.csdn.net/Hello_World_QWP/article/details/127005083