PS D:\VUE3\vue-pure-admin-main> pnpm i pnpm : 无法加载文件 C:\Users\WTK\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?Link ID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + pnpm i + ~~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS D:\VUE3\vue-pure-admin-main>
这个错误信息是由于PowerShell的执行策略限制了运行脚本。在Windows系统中,PowerShell有一个执行策略(Execution Policy)的设置,用于控制PowerShell脚本和配置文件的执行。出于安全考虑,默认情况下可能会限制执行未签名的脚本。
要解决这个问题,可以更改PowerShell的执行策略。以下是一些可用的选项:
在PowerShell中以管理员权限运行以下命令之一,以设置所需的执行策略:
-
以管理员权限打开PowerShell :
右键点击"开始"菜单,选择"Windows PowerShell(管理员)"或"命令提示符(管理员)"。
-
查看当前的执行策略 :
在PowerShell中输入以下命令:
Get-ExecutionPolicy
设置执行策略 :
你可以在PowerShell中设置执行策略以允许运行脚本。请注意,更改执行策略可能会影响系统的安全性,所以请谨慎操作。以下是一些可用的执行策略选项:
-
Restricted
- 默认的执行策略,不允许任何脚本运行。 -
AllSigned
- 只能运行由受信任发布者签名的脚本。 -
RemoteSigned
- 可以运行本地脚本,但是从互联网上下载的脚本必须签名。 -
Unrestricted
- 允许所有脚本运行。 -
在PowerShell中以管理员权限运行以下命令之一,以设置所需的执行策略:
# 设置为允许运行所有本地脚本和来自互联网的签名脚本 Set-ExecutionPolicy RemoteSigned # 或者设置为允许运行所有脚本(请小心使用) Set-ExecutionPolicy Unrestricted
-
运行你的命令 :
在更改了执行策略之后,应该能够运行
pnpm i
命令来安装依赖项。
请记住,Unrestricted
策略会让你的系统更容易受到恶意脚本的攻击,所以只有在你完全信任要运行的脚本时才应使用这个策略。在生产环境或重要系统上操作时,请格外小心。
如果你不熟悉这些设置或担心安全问题,请咨询有经验的系统管理员或IT专业人员。
PS C:\Users\WTK> Get-ExecutionPolicy Restricted PS C:\Users\WTK> Set-ExecutionPolicy Unrestricted 执行策略更改 执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略? [Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为"N"): A Set-ExecutionPolicy : 对注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"的 访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用"以管理员身份运行"选项启动 Windows PowerShell。要更改当 前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。 所在位置 行:1 字符: 1 + Set-ExecutionPolicy Unrestricted + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma nd PS C:\Users\WTK>
出现的错误表明你尝试更改了计算机的执行策略,但是没有足够的权限。Set-ExecutionPolicy
尝试修改的是本地计算机(LocalMachine)范围内的策略,而这通常需要管理员权限。
为了解决这个问题,请按照以下步骤操作:
-
以管理员身份运行 PowerShell:
- 在搜索框中输入"PowerShell"。
- 右键点击"Windows PowerShell"并选择"以管理员身份运行"。
-
在 PowerShell 中设置执行策略 :
在具有管理员权限的 PowerShell 窗口中,再次尝试运行之前的命令:
Set-ExecutionPolicy Unrestricted
或者,如果你只希望更改当前用户的执行策略而不是整个系统的,可以使用
-Scope
参数:Set-ExecutionPolicy -Scope CurrentUser Unrestricted
-
确认执行策略已更改 :
使用
Get-ExecutionPolicy
命令来确认执行策略是否已经成功更改。 -
请记住,将执行策略设置为
Unrestricted
可能会带来安全风险,因为它允许运行所有脚本,包括可能恶意的脚本。在生产环境或包含敏感数据的系统上,请务必谨慎操作,并考虑使用更安全的策略,如RemoteSigned
。如果你不确定应该选择哪种执行策略,可以参考 Microsoft 的文档,或咨询你的系统管理员。在开发环境中,
RemoteSigned
通常是一个合理的选择,因为它允许运行本地脚本,同时要求从互联网下载的脚本必须有有效的数字签名。