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就正常了。
相关推荐
weixin_461769401 天前
npm create vue@latest 错误
前端·vue.js·npm
MadeInSQL3 天前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
npm
cypking3 天前
npm 依赖包版本扫描提示插件Version Lens
前端·npm·node.js
SP八岐大兔5 天前
NPM管理OpenClaw安装、卸载及运维命令
运维·前端·npm·openclaw
陈佬昔没带相机6 天前
GitHub clone 不动、pip 卡住、brew 转圈?一份指南搞定
git·npm
LAM LAB6 天前
【shell】win10 Powershell字体美化
powershell
奔跑的呱呱牛6 天前
xlsx 已停止维护且存在漏洞!推荐一个可直接替代的 npm 库
前端·npm·node.js·xlsx·sheetjs
Ztopcloud极拓云视角7 天前
Claude Code 源码泄露事件技术复盘:npm sourcemap 配置失误的完整分析
前端·npm·node.js
赖念安7 天前
在 vscode 的 NPM SCRIPTS 面板点击执行后脚本失败
ide·vscode·npm