安装大龙虾 OpenClaw出现错误提示的相关解决办法:npm.ps1 进行数字签名。无法在当前系 统上运行该脚本。有关运行脚本和设置执行策略的详细信息

错误提示:

npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1。未对文件 D:\Program Files\nodejs\npm.ps1 进行数字签名。无法在当前系 统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_E xecution_Policies。 所在位置 行:288 字符: 22 + $npmOutput = npm install -g "$packageName@$Tag" 2>&1 + ~~~ + CategoryInfo : SecurityError: (:) [],ParentContainsErrorRecordException + FullyQualifiedErrorId : UnauthorizedAccess

 

解决办法:

问题分析

 
这个错误是因为 Windows PowerShell 的执行策略限制了未签名脚本的运行,npm.ps1 是 Node.js 的 PowerShell 脚本文件,系统默认阻止了它的执行。
 

解决方案

 
下面提供两种简单有效的解决方法,你可以根据自己的需求选择:
 

方法 1:临时解除当前会话的执行策略(推荐,仅当前窗口生效)

 
  1. 以管理员身份打开 PowerShell(右键开始菜单 → 选择 “Windows PowerShell (管理员)”)
  2. 执行以下命令:
    powershell
     
     
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
     
     
  3. 出现确认提示时,输入 Y 并回车
  4. 关闭当前 PowerShell 窗口,重新打开普通 PowerShell / 终端,再次运行 npm 命令即可
 

方法 2:永久修改系统执行策略(不推荐,安全性稍低)

 
  1. 管理员身份打开 PowerShell
  2. 执行命令:
    powershell
     
     
    Set-ExecutionPolicy RemoteSigned
    
     
     
  3. 输入 Y 确认,重启终端后生效
 

补充:快速验证是否生效

 
执行以下命令查看当前执行策略:
 
powershell
 
 
Get-ExecutionPolicy
 
 
如果输出 RemoteSigned 则说明设置成功,此时运行 npm -v 能正常显示版本号即代表问题解决。
 

关键说明

 
  • RemoteSigned 策略:允许运行本地创建的未签名脚本,仅要求从网络下载的脚本必须有数字签名(兼顾安全性和可用性)
  • 不要设置为 Unrestricted(完全无限制),会降低系统安全性
  • 如果是 VS Code 的终端报错,需要重启 VS Code 让策略生效
 

总结

 
  1. 核心原因是 Windows PowerShell 执行策略阻止了未签名的npm.ps1脚本运行
  2. 最优解是通过管理员 PowerShell 执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 临时放宽当前用户的脚本执行限制
  3. 设置完成后重启终端,npm 命令即可正常使用
posted @ 2026-03-06 09:30  青山下  阅读(417)  评论(0)    收藏  举报