npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1

问题描述

使用git bash, cmd运行npm都可以,但是用Power Shell运行npm,却报错:

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1

  • npm
  • ~~~
  • CategoryInfo : SecurityError: (:) \[\],PSSecurityException
  • FullyQualifiedErrorId : UnauthorizedAccess

原因分析

该问题通常发生在安装nvm之后,环境变量发生变化,npm.cmd执行方式也发生变化。而Power Shell默认执行策略比较严格,是Restricted,阻止了nvm相关脚本的执行。

解决方案

两种方案,推荐第二种。

方案一,把npm.cmd的运行路径加入到环境变量path中。例如:

"C:\Users\zxcv\AppData\Roaming\nvm\v22.14.0\node_modules\npm\bin\"

这会导致一个问题是,后面用nvm use xxx切换了node版本后,运行npm可能会有问题。

方案二,修改Powser Shell的执行策略。

  1. 右键开始菜单,选择"终端管理员",打开PS窗口。

  2. 查看当前执行策略:

bash 复制代码
Get-ExecutionPolicy

默认显示Restricted.

  1. 修改策略
bash 复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. 验证修改结果:
bash 复制代码
Get-ExecutionPolicy

应显示为:RemoteSigned。

含义为:允许运行本地脚本,远程脚本需签名(平衡安全与便利)。

  1. 重启vs code的power shell终端,再运行npm就正常了。
相关推荐
kyriewen4 天前
2026 年了,这 6 个 npm 包可以卸载了——浏览器原生 API 已经能替代
前端·javascript·npm
无为之士9 天前
Windows 批量打印 PDF 工具分享:支持文件夹、指定文件、当天文件、预览列表
windows·powershell
l1o3v1e4ding11 天前
windows安装Claude Code,并接入Deepseek-v4模型 ,提供离线安装包
git·npm·node.js·claude code·cc-switchcc
TT_Close11 天前
别再复制旧 Flutter 工程了,真正拖慢你的不是业务代码
flutter·npm·visual studio code
Penfy_Z11 天前
【Python LLM 调用踩坑】Connection error 终极解决方案!npm 代理导致阿里云通义千问接口连接失败
开发语言·python·npm
终将老去的穷苦程序员12 天前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
之歆13 天前
Node.js 与 NPM 包管理完全指南
前端·npm·node.js
12点一刻13 天前
npx 使用入门教程:是什么、怎么用、和 npm 有什么区别
前端·npm·node.js
cv魔法师14 天前
解决vscode终端报错npm : 无法加载文件npm.ps1,因为在此系统上禁止运行脚本。
ide·vscode·npm
阆遤16 天前
Windows环境安装Hermes Desktop安装
powershell·ai agent·hermes desktop