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

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中以管理员权限运行以下命令之一,以设置所需的执行策略:

  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 通常是一个合理的选择,因为它允许运行本地脚本,同时要求从互联网下载的脚本必须有有效的数字签名。

相关推荐
山猪打不过家猪13 分钟前
React(五)——useContecxt/Reducer/useCallback/useRef/React.memo/useMemo
前端·javascript·react.js
前端青山15 分钟前
React事件处理机制详解
开发语言·前端·javascript·react.js
科技D人生16 分钟前
Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
前端·vue.js·vue ref·vue ref 响应式·vue reactive
对卦卦上心19 分钟前
React-useEffect的使用
前端·javascript·react.js
练习两年半的工程师19 分钟前
React的基本知识:事件监听器、Props和State的区分、改变state的方法、使用回调函数改变state、使用三元运算符改变state
前端·javascript·react.js
啵咿傲20 分钟前
在React中实践一些软件设计思想 ✅
前端·react.js·前端框架
GIS好难学42 分钟前
《Vue零基础入门教程》第二课:搭建开发环境
前端·javascript·vue.js·ecmascript·gis·web
程序员黄同学2 小时前
Python 中如何创建多行字符串?
前端·python
anyup_前端梦工厂2 小时前
uni-app 认识条件编译,了解多端部署
前端·vue.js·uni-app
Fetters043 小时前
一篇快速上手 Axios,一个基于 Promise 的网络请求库(涉及原理实现)
前端·ajax·axios·promise