npm报错 : 无法加载文件 npm.ps1,因为在此系统上禁止运行脚本

问题描述:

在Windows系统下使用 PowerShell 执行npm命令时,出现以下错误:

npm : 无法加载文件 D:\ToolFiles\Nodejs\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

分析原因:

这是由于Windows PowerShell 的执行策略(Execution Policy)限制导致的。PowerShell为了系统安全,默认设置为 Restricted 模式,该模式会:

  • 禁止运行任何PowerShell脚本文件(.ps1)
  • 只允许交互式命令执行

为什么npm会触发这个错误?

  • npm 在 Windows 环境下提供了 PowerShell 脚本版本(npm.ps1)
  • 当在 PowerShell 中执行 npm 命令时,系统会尝试加载这个脚本文件
  • 由于执行策略限制,PowerShell拒绝加载该脚本文件

解决办法:

步骤1:以管理员身份打开PowerShell

  • 右键点击开始菜单
  • 选择"Windows PowerShell (管理员)"

步骤2:查看当前执行策略

使用命令 Get-ExecutionPolicy 进行查看

bash 复制代码
Get-ExecutionPolicy

如果显示 Restricted,说明当前禁止脚本运行。

步骤3:设置执行策略为 RemoteSigned

bash 复制代码
Set-ExecutionPolicy RemoteSigned

系统会提示确认,输入"Y"并回车。

步骤4:验证设置

bash 复制代码
Get-ExecutionPolicy

现在应该显示 RemoteSigned

步骤5:重新执行 npm 命令

成功!

相关推荐
代码搬运媛13 小时前
Jest 测试框架详解与实现指南
前端
counterxing13 小时前
Agent 跑起来之后,难的是复用、观测和评测
node.js·agent·ai编程
counterxing13 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq14 小时前
windows下nginx的安装
linux·服务器·前端
之歆14 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜14 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai1080814 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
kyriewen16 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm17 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy17 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程