无法加载文件 xxxx 因为在此系统上禁止运行脚本。有关详细信息,请参阅,Windows执行策略有关问题
1.1 出现问题
在Windows11中的Windows PowerShell执行一些前端的命令时经常会出现如下问题:
PS C:\Users\Admin\Desktop> vue init webpack vue-router-demo
vue : 无法加载文件 C:\Users\Admin\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/
go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ vue init webpack vue-router-demo
+ ~~~+ CategoryInfo : SecurityError: (:) [],PSSecurityException+ FullyQualifiedErrorId : UnauthorizedAccess
1.2 问题解决
查询了下相关资料,发现是跟Windows PowerShell的执行策略有关;通过如下命令可以查询到当前的执行策略:
PS C:\Users\Admin\Desktop> get-executionpolicy
Restricted
默认的执行策略为:Restricted
PowerShell 执行策略是一项安全功能,用于控制 PowerShell 加载配置文件和运行脚本的条件。 此功能有助于防止恶意脚本的执行。在 Windows 计算机上,可以为本地计算机、当前用户或特定会话设置执行策略。 还可使用组策略设置为计算机和用户设置执行策略。
Windows关于执行策略的介绍:Windows关于执行策略的介绍
-
Restricted:允许单个命令,但不允许脚本。阻止运行所有脚本文件,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 PowerShell 配置文件 (.ps1)。
-
RemoteSigned:脚本可以运行。存在运行来自 Internet 以外来源的未签名脚本以及可能存在恶意的签名脚本的风险。
我们可以将执行策略改为:RemoteSigned
,使用管理员权限打开Windows PowerShell
,如图所示:
输入命令:
set-executionpolicy remotesigned
然后执行Y
表示确认更改执行策略,如图所示:
重新查看执行策略,并重新执行脚本: