惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
Y
Y Combinator Blog
I
InfoQ
美团技术团队
罗磊的独立博客
B
Blog RSS Feed
GbyAI
GbyAI
小众软件
小众软件
IT之家
IT之家
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
MyScale Blog
MyScale Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss

博客园 - 青山下

mysql57下载地址 Working with Ace,ace web编辑器,一款可以语法高亮的牛逼编辑器 合并多个Excel文件,并且保持原表格的数字格式 如果词可能有缩写、近义词或拼写差异,可以使用 字符串相似度算法 18年了,注册18年了,还在做一线开发 hutool工具JSONUtil序列化对象和反序列化到Map的时候,null的值因为JSONNull无法转换而报错 jdk8:alpine没有bash,所以会报:no such file or directory,如何解决? RSA密钥格式转换:java->.net、.net->java dify相关文档 好玩的找不到页面设计:html5 svg太空人404动画模板 C#版本的sha256withRSA 私钥签名,公钥验签 方法,java<->.net通用 nginx负载均衡 C++内存扫描 快速将下划线字段改为驼峰字段 Mybatis-Plus 如何通过sql命令对数据库中的数据重新排序 网页打印的时候,去掉页眉和页脚的方法 调用文心一言画画 2023-12-28前几天很冷,今天不是很冷
安装大龙虾 OpenClaw出现错误提示的相关解决办法:npm.ps1 进...
青山下 · 2026-03-06 · via 博客园 - 青山下

错误提示:

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. 执行以下命令:
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. 出现确认提示时,输入 Y 并回车
  4. 关闭当前 PowerShell 窗口,重新打开普通 PowerShell / 终端,再次运行 npm 命令即可

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

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

补充:快速验证是否生效

执行以下命令查看当前执行策略:

如果输出 RemoteSigned 则说明设置成功,此时运行 npm -v 能正常显示版本号即代表问题解决。

关键说明

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

总结

  1. 核心原因是 Windows PowerShell 执行策略阻止了未签名的npm.ps1脚本运行
  2. 最优解是通过管理员 PowerShell 执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 临时放宽当前用户的脚本执行限制
  3. 设置完成后重启终端,npm 命令即可正常使用