VScode 中执行 npm 报错的问题

今天遇到一个问题,就是电脑已经安装好 node.js 在 vscode 中命令行 node -v,没有问题,但是 npm -v 就显示 无法加载文件 ....,因为在此系统上禁止运行脚本等错误提示。

解决方法:

方法一:更改 PowerShell 执行策略(推荐)

1. 以管理员身份打开 PowerShell:
  • 在开始菜单中搜索 "PowerShell"。
  • 右键点击 "Windows PowerShell",选择 "以管理员身份运行"
2. 查看当前执行策略:
javascript 复制代码
Get-ExecutionPolicy

通常会显示 Restricted

3. 更改执行策略: 运行以下命令将执行策略更改为允许本地脚本运行(推荐使用 RemoteSigned):
javascript 复制代码
Set-ExecutionPolicy RemoteSigned
  • RemoteSigned:允许运行本地创建的脚本,但要求从网络下载的脚本必须有受信任发布者的数字签名。这是一个比较平衡的安全选择。
  • 其他可选策略(根据需要选择):
  • Unrestricted:允许运行所有脚本(不推荐,安全性较低)。
  • AllSigned:要求所有脚本(包括本地)都必须有受信任发布者的数字签名(非常严格)。
  • Bypass:不阻止任何脚本,也不提示(仅用于特定场景,不推荐作为常规设置)。
4. 确认更改:

执行 Set-ExecutionPolicy 命令后,PowerShell 会提示你确认是否要更改执行策略。输入 Y 或 A 然后按回车确认。

5. 验证更改:
javascript 复制代码
Get-ExecutionPolicy

应该会显示 RemoteSigned

6. 在 VS Code 中测试:

关闭并重新打开 VS Code 的集成终端(或重启 VS Code),然后再次运行 npm -v,应该就能正常工作了。

方法二:在 VS Code 集成终端中切换 Shell

如果不想更改系统全局的 PowerShell 执行策略,可以将 VS Code 的默认集成终端更改为 Command Prompt (cmd.exe) 或 Git Bash,它们不受 PowerShell 执行策略的限制。

  • 在 VS Code 中,按 Ctrl + Shift + P 打开命令面板。
  • 输入 Terminal: Select Default Profile 并选择它。
  • 从列表中选择 Command Prompt 或 Git Bash。
  • 关闭并重新打开集成终端(Ctrl + Shift + `` 或 +)。
  • 现在在 cmd 或 Git Bash 中运行 npm -v 应该没有问题。

方法三:临时绕过(不推荐用于常规使用)

在 PowerShell 中运行命令前加上 cmd /c,强制使用 cmd.exe 来执行:

javascript 复制代码
cmd /c npm -v

但这需要每次执行 npm 命令时都加上前缀,很麻烦。

总结:

最推荐的方法是 方法一(Set-ExecutionPolicy RemoteSigned),因为它从根本上解决了问题,允许 npm 等需要脚本的工具在 PowerShell 中正常工作,同时保持了合理的安全级别。

方法二(切换终端)也是一个快速有效的替代方案,尤其当你不想修改系统策略时。

希望对遇到此问题的小伙伴们,可以提供帮助~

相关推荐
猿小猴子13 小时前
主流 Agent 之 「Zed」和 「ZCode」 介绍
ide·ai·agent·zed·zhipu·ade·zcode
浪客川18 小时前
使用 IDEA 生成API文档
java·ide·intellij-idea
SMF191920 小时前
【PyCharm】让 PyCharm 使用 .venv 虚拟环境
ide·python·pycharm
User_芊芊君子21 小时前
STT + LLM + TTS:用一条流水线搓了个中英双向翻译助手
ide·macos·xcode
菜哥万岁万岁万万岁2 天前
Visual Studio 2022 社区版下载
ide·visual studio
iCxhust2 天前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
fastjson_2 天前
Hadoop之Yarn
大数据·hadoop·npm
如何原谅奋力过但无声2 天前
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
vscode·python·uv
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
Molesidy2 天前
【VSCode】基于win10系统老版本和VSCode最新版本下出现的VSCode内置的终端窗口不能运行的问题的解决方案
ide·vscode·编辑器