pnpm : 无法加载文件 C:\Users\WTK\AppData\Roaming pm\pnpm.ps1,因为在此系统上禁止运行脚本。

作者 : admin 本文共2598个字,预计阅读时间需要7分钟 发布时间: 2024-06-11 共1人阅读

PS D:\VUE3\vue-pure-admin-main> pnpm i pnpm : 无法加载文件 C:\Users\WTK\AppData\Roaming
pm\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中以管理员权限运行以下命令之一,以设置所需的执行策略:

  1. 以管理员权限打开PowerShell
    右键点击“开始”菜单,选择“Windows PowerShell(管理员)”或“命令提示符(管理员)”。

  2. 查看当前的执行策略
    在PowerShell中输入以下命令:

    Get-ExecutionPolicy

    设置执行策略
    你可以在PowerShell中设置执行策略以允许运行脚本。请注意,更改执行策略可能会影响系统的安全性,所以请谨慎操作。以下是一些可用的执行策略选项:

  3. Restricted – 默认的执行策略,不允许任何脚本运行。
  4. AllSigned – 只能运行由受信任发布者签名的脚本。
  5. RemoteSigned – 可以运行本地脚本,但是从互联网上下载的脚本必须签名。
  6. Unrestricted – 允许所有脚本运行。
  7. 在PowerShell中以管理员权限运行以下命令之一,以设置所需的执行策略:
    # 设置为允许运行所有本地脚本和来自互联网的签名脚本  
    Set-ExecutionPolicy RemoteSigned  
     
    # 或者设置为允许运行所有脚本(请小心使用)  
    Set-ExecutionPolicy Unrestricted

  8. 运行你的命令
    在更改了执行策略之后,应该能够运行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)范围内的策略,而这通常需要管理员权限。

为了解决这个问题,请按照以下步骤操作:

  1. 以管理员身份运行 PowerShell

    • 在搜索框中输入“PowerShell”。
    • 右键点击“Windows PowerShell”并选择“以管理员身份运行”。
  2. 在 PowerShell 中设置执行策略
    在具有管理员权限的 PowerShell 窗口中,再次尝试运行之前的命令:

    Set-ExecutionPolicy Unrestricted
    

    或者,如果你只希望更改当前用户的执行策略而不是整个系统的,可以使用 -Scope 参数:

    Set-ExecutionPolicy -Scope CurrentUser Unrestricted
    

  3. 确认执行策略已更改
    使用 Get-ExecutionPolicy 命令来确认执行策略是否已经成功更改。

  4. 请记住,将执行策略设置为 Unrestricted 可能会带来安全风险,因为它允许运行所有脚本,包括可能恶意的脚本。在生产环境或包含敏感数据的系统上,请务必谨慎操作,并考虑使用更安全的策略,如 RemoteSigned

    如果你不确定应该选择哪种执行策略,可以参考 Microsoft 的文档,或咨询你的系统管理员。在开发环境中,RemoteSigned 通常是一个合理的选择,因为它允许运行本地脚本,同时要求从互联网下载的脚本必须有有效的数字签名。

本站无任何商业行为
个人在线分享 » pnpm : 无法加载文件 C:\Users\WTK\AppData\Roaming pm\pnpm.ps1,因为在此系统上禁止运行脚本。
E-->