vscode 中 node 命令报“command not found”是因启动时未继承更新后的 path:windows 未勾选“add to path”或未手动添加;macos/linux 需通过终端执行 code 启动才能加载最新 shell 配置;务必重启 vscode(非 reload)并验证 which node 和 node -v 一致。

VSCode 里 node 命令突然报错“command not found”,不是插件坏了,也不是 launch.json 写错了,而是你更新 Node.js 后,VSCode 没读到新版本的路径。
为什么更新 Node 后 VSCode 找不到 node?
VSCode 启动时只继承启动那一刻的环境变量。如果你通过官网安装包更新了 Node.js,Windows 上可能没勾选 “Add to PATH”;macOS 上用 Homebrew 更新后,~/.zshrc 里旧的 /opt/homebrew/bin 路径可能仍指向已卸载的老版本;Linux 用户则常因 shell 配置未重载导致 which node 返回空。
- 在 VSCode 内置终端(
Ctrl+`)里直接运行node -v和which node,结果必须一致且有输出 - 如果
which node无返回,说明 VSCode 根本没加载到任何 Node 安装路径 - 别信“系统终端能跑就行”——VSCode 的终端和你手动打开的 Terminal 不一定共享同一套
PATH
Windows:重装或手动补 PATH 是最快解法
重装 Node.js 时务必勾选 Add to PATH,否则新版本不会写入系统环境变量。若不想重装,就手动把新安装目录加进系统 PATH:
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 新版 Node 默认装在
C:\Program Files\nodejs\,确认该路径存在node.exe - 打开“系统属性 → 高级 → 环境变量”,在“系统变量”中找到
Path,点击“编辑”→“新建”,粘贴上述路径 - 重启 VSCode(不是 reload window,是彻底关掉再开),再进终端验证
node -v
macOS/Linux:靠终端启动 VSCode 才能加载最新 shell 配置
从 Dock 或 Spotlight 启动 VSCode,它会跳过 ~/.zshrc 或 ~/.bash_profile 初始化,自然读不到你用 brew install node 装的新路径。
- 先在终端运行
which node,比如返回/opt/homebrew/bin/node - 检查该路径是否已在
~/.zshrc中导出:export PATH="/opt/homebrew/bin:$PATH" - 改完配置后,必须关闭所有 VSCode 实例,再在该终端中执行
code --no-sandbox .启动 - 此时 VSCode 终端才会真正继承 shell 的
PATH,node -v和npm -v才会同步生效
launch.json 断点失效?先确认 sourceMaps 和入口路径
环境通了,断点还灰?大概率是调试器根本没加载到正确的 JS 文件。尤其常见于 TypeScript 编译、Webpack 打包或 ESM 项目中。
-
program字段必须是绝对路径,比如"${workspaceFolder}/dist/index.js",不能写相对路径或./index.js - 确保
sourceMaps开启:"sourceMaps": true,且生成的.map文件与 JS 文件同目录 - ESM 项目需在
package.json中声明"type": "module",否则require()会失败,调试器也加载不了模块 - 如果用了
nodemon,launch.json必须用"request": "attach"模式,并配"port": 9229,不能用"request": "launch"直接跑
最易被忽略的是:VSCode 不会主动感知 Node 版本切换,它只认启动时读到的 PATH。哪怕你本地 node -v 已是 20.x,只要 VSCode 是从 Dock 启动的,它就还在用 16.x 的旧二进制——这种“双版本并存却互不感知”的状态,比配置错误更难排查。










