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 命令

成功!

相关推荐
用户69371750013842 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦2 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户69371750013842 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水4 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫5 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll1236 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌7 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛7 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js
柳杉7 小时前
从动漫水面到赛博飞船:这位开发者的Three.js作品太惊艳了
前端·javascript·数据可视化