npm 安装/运行报错及解决方案

1. 问题现象

在 Windows PowerShell 中执行以下命令:

powershell 复制代码
npm -v

出现如下报错:

text 复制代码
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ npm -v
+ ~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

2. 问题原因

该问题不是 Node.js 或 npm 安装失败,也不是 npm 命令不存在。

真正原因是:PowerShell 的执行策略禁止运行脚本文件

Windows 中安装 Node.js 后,npm 会提供多个可执行入口,其中包括:

text 复制代码
C:\Program Files\nodejs\npm.ps1

当在 PowerShell 中执行 npm 命令时,PowerShell 可能优先调用 npm.ps1 脚本文件。但当前系统策略禁止运行 .ps1 脚本,因此触发安全错误。

3. 解决方案一:修改当前用户的 PowerShell 执行策略(推荐)

在 PowerShell 中执行:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

如果系统提示确认,输入:

powershell 复制代码
Y

然后重新打开 PowerShell 或 VS Code 终端,再执行:

powershell 复制代码
npm -v

如果能正常显示 npm 版本号,说明问题已解决。

说明

RemoteSigned 表示:

  • 本地创建的 PowerShell 脚本可以运行;
  • 从网络下载的脚本需要有可信签名才能运行;
  • CurrentUser 只影响当前 Windows 用户,不需要修改整个系统策略。

该方式适合日常开发环境使用。

4. 解决方案二:临时绕过 PowerShell 脚本限制

如果不想修改 PowerShell 执行策略,可以直接调用 npm 的 .cmd 文件:

powershell 复制代码
npm.cmd -v

或者通过 cmd 执行:

powershell 复制代码
cmd /c npm -v

如果需要安装依赖,也可以使用:

powershell 复制代码
npm.cmd install

或者:

powershell 复制代码
cmd /c npm install

该方式不会修改 PowerShell 执行策略,适合临时验证或受限电脑环境。

5. 解决方案三:查看当前执行策略

如果需要确认当前 PowerShell 策略,可以执行:

powershell 复制代码
Get-ExecutionPolicy -List

重点查看 CurrentUserLocalMachine 对应的策略。

常见策略说明:

策略 含义
Restricted 禁止运行 PowerShell 脚本,容易导致 npm.ps1 无法执行
RemoteSigned 允许运行本地脚本,网络下载脚本需要签名,推荐开发环境使用
Unrestricted 允许运行大多数脚本,安全性较低,不推荐随意设置
Bypass 不阻止任何脚本,通常只适合临时场景

6. 验证方法

执行以下命令:

powershell 复制代码
node -v
npm -v

如果分别输出类似下面的版本号,则说明 Node.js 和 npm 都可以正常使用:

text 复制代码
v20.x.x
10.x.x

也可以进一步验证 npm 是否能正常安装依赖:

powershell 复制代码
npm install

7. VS Code 中的处理方式

如果是在 VS Code 终端中出现该问题:

  1. 打开 PowerShell;
  2. 执行:
powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
  1. 输入 Y 确认;
  2. 关闭 VS Code 当前终端;
  3. 新建一个终端;
  4. 重新执行:
powershell 复制代码
npm -v

8. 常见误区

误区一:以为 npm 没有安装成功

该报错并不代表 npm 没装好。报错中已经出现了:

text 复制代码
C:\Program Files\nodejs\npm.ps1

说明系统已经找到了 npm 相关文件,只是 PowerShell 不允许执行该脚本。

误区二:反复重装 Node.js

通常不需要重新安装 Node.js。只要修改 PowerShell 执行策略,或使用 npm.cmd,即可解决问题。

误区三:必须使用管理员权限

使用以下命令时通常不需要管理员权限:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

因为它只修改当前用户的执行策略。

9. 推荐处理流程

优先推荐使用以下步骤:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

确认后重新打开终端,再执行:

powershell 复制代码
npm -v

如果公司电脑或学校电脑不允许修改策略,则使用临时方案:

powershell 复制代码
npm.cmd -v

或:

powershell 复制代码
cmd /c npm -v

10. 总结

本次报错的核心原因是:PowerShell 禁止运行 npm.ps1 脚本

推荐解决方式是将当前用户的执行策略设置为:

powershell 复制代码
RemoteSigned

对应命令为:

powershell 复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

修改后重新打开终端,再运行 npm -v 即可验证是否修复。

相关推荐
雪隐12 小时前
个人电脑玩AI-15让5060 Ti给你打工——MiniMax H3 本地部署实录:一个自带录音棚的视频模型,和它的 NVFP4 瘦身奇遇
前端·人工智能·后端
GuWenyue12 小时前
不用第三方SDK!Vue3原生Fetch实现DeepSeek流式输出,90%前端都会踩的分片解析坑一次性解决
前端·人工智能·llm
独隅13 小时前
前端离线暂停更新策略:Service Worker 与 PWA 实战指南
前端
不如摸鱼去13 小时前
Wot UI 2.3.0 发布:二维码组件来了,Open Wot 与 wot-starter 同步更新
前端·ui·微信小程序·前端框架·uni-app
Cloud_bread13 小时前
从ReAct到自主闭环:Agentic Coding核心执行引擎的技术演进
前端·react.js·前端框架
cidy_9814 小时前
OptMem 使用教程
前端
杉氧14 小时前
用 Compose 挑战交互与动效天花板:ComposeCraftLab 开源实验室全解析
android·前端·kotlin
Canace14 小时前
AI 生成到 90% 突然断了:你的解决方案是?
前端·人工智能
TinssonTai14 小时前
Vite 8 版 Chrome 插件全家桶,popup/options/sidepanel 一次集齐
前端·vue.js
玉鸯14 小时前
让 Agent 面向用户:AG-UI 协议构建 Agent 前端
前端·python·agent