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

这个错误是因为在你的 Windows 系统上,PowerShell 的执行策略(Execution Policy)限制了运行 .ps1 文件(PowerShell 脚本),而 npm.ps1 是 Node.js 的 npm(Node Package Manager)工具的 PowerShell 脚本版本。默认情况下,Windows 对未签名的脚本有安全限制,导致你无法直接运行 npm 命令。

问题原因

执行策略:PowerShell 默认设置为 Restricted(受限模式),禁止运行任何脚本。

npm.ps1:你输入 npm install 时,系统试图调用 D:\javascript\npm.ps1,但被阻止。

解决方法

有几种方法可以解决这个问题:

方法 1:临时绕过执行策略

在当前 PowerShell 会话中临时允许脚本运行:

1.打开 PowerShell(以管理员身份运行更稳妥)。

2.输入以下命令:

powershell

复制代码
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force

3.再运行:

powershell

复制代码
npm install

说明:-Scope CurrentUser 只影响当前用户,-ExecutionPolicy Bypass 允许运行脚本,-Force 避免确认提示。

注意:这个设置在关闭 PowerShell 后可能恢复默认,除非你永久修改策略。

方法 2:永久更改执行策略

如果你经常使用 npm,可以永久放宽策略:

1.以管理员身份打开 PowerShell。

2.输入:

powershell

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

RemoteSigned 表示本地脚本可以运行,但远程脚本需要签名,比 Bypass 更安全。

3.然后再试:

powershell

复制代码
npm install

方法 3:直接调用 npm.cmd(绕过 PowerShell)

Windows 下 npm 除了 .ps1 脚本,还有一个 .cmd 文件(批处理文件),不受 PowerShell 策略限制:

1.在命令行(CMD 或 PowerShell)中运行:

cmd

复制代码
npm.cmd install

或完整路径:

cmd

复制代码
D:\javascript\npm.cmd install

2.这会直接调用批处理版本的 npm,避免 PowerShell 的限制。

方法 4:检查 Node.js 安装

确保 Node.js 安装正确,npm 已添加到系统 PATH:

1.检查 npm 是否可用:

cmd

复制代码
where npm

2.如果返回路径(比如 D:\javascript\npm.cmd),说明安装没问题。

如果没有,重新安装 Node.js:

去官网(https://nodejs.org/)下载最新版。

安装时勾选"Add to PATH"选项。

方法 5:删除 npm.ps1(极端情况)

如果问题仍未解决,可以删除 npm.ps1,强制使用 npm.cmd:

1.找到 D:\javascript\npm.ps1。

2.删除或重命名它。

3.再运行 npm install,系统会默认找 npm.cmd。

推荐方案

短期:用方法 3(npm.cmd install),最简单。

长期:用方法 2(设置 RemoteSigned),安全又方便。

验证

解决后,运行:

cmd

复制代码
npm -v

如果输出版本号(比如 10.2.4),说明 npm 正常工作了。

额外说明

你的命令:npm install 通常用于安装项目依赖,确保当前目录有 package.json 文件。

参考链接:错误信息中的链接(https://go.microsoft.com/fwlink/?LinkID=135170)指向 PowerShell 执行策略文档,可以了解更多细节。

相关推荐
ℋᙚᵐⁱᒻᵉ鲸落3 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
默_笙4 小时前
🎃 前端学了 Next.js,后端该学啥?NestJS 就是 Node 版的蜜雪冰城
前端·javascript
前端snow5 小时前
ai agent --- 实现 openclaw 定时间效果
前端
码云之上6 小时前
换模型之后,Chatbot 为什么要自己做 compact?
前端·agent·前端工程化
এ慕ོ冬℘゜6 小时前
navigator 导航对象 BOM制作方法
javascript
星栈6 小时前
自定义 UI-UX-Pro-Max 的 CSV 知识库,把 AI 生成的后台拉回行业该有的样子
前端·agent·weui
研☆香6 小时前
简单的图片上传 删除 预览
前端
ITresearchGuest6 小时前
我用 AI 一小时写了一个世界杯数据可视化平台|前端 VibeCoding 初体验
前端·人工智能·信息可视化
慧一居士8 小时前
Vite项目中使用Less步骤,详细使用示例
前端·css
花间相见8 小时前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain