vscode里node -v没输出就别配launch.json或装插件,因90%调试失败源于node未被识别;须先在内置终端验证node -v,无输出说明path未继承,macos/linux需从终端code .启动,windows需勾选add to path并配置系统环境变量。

VSCode 里 node -v 没输出,就别配 launch.json 或装插件——所有后续操作都是白忙。
终端里 node -v 能用,但 VSCode 里报 command not found
这不是 VSCode 故障,也不是插件问题,而是它启动时根本没加载你的 shell 初始化文件(比如 ~/.zshrc 或 ~/.bash_profile)。
- macOS/Linux:从 Dock 或 Spotlight 启动 VSCode,
which node输出的路径(如/opt/homebrew/bin/node)大概率不在它继承的PATH里;改完~/.zshrc后必须彻底退出所有 VSCode 窗口,再从终端执行code --no-sandbox .启动 - Windows:Node.js 安装时若没勾选 Add to PATH,系统级环境变量里就没有
C:Program Files odejs;打开「系统属性 → 高级 → 环境变量」,把它加进「系统变量」的Path,路径中不能有中文、空格,斜杠方向统一用/或\,不能混用单反斜杠 - 验证方式只有一种:在 VSCode 内置终端(
Ctrl + `)里直接执行node -v;没输出就停手,别往下配
launch.json 里 runtimeExecutable 和终端 PATH 是两套逻辑
即使终端里 node -v 跑通了,调试时仍可能报 Cannot find runtime 'node',因为调试器不读终端的 PATH,它只认 runtimeExecutable 或系统默认查找路径。
使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。
- 最稳妥写法是显式指定完整路径:
"runtimeExecutable": "C:/path/to/node.exe"(Windows)或"runtimeExecutable": "/opt/homebrew/bin/node"(macOS/Linux) - 如果用
nvm管理多版本,runtimeExecutable必须指向当前nvm use对应的 node 可执行文件,不能写成node字符串 -
program字段必须指向真实可执行的 JS 文件,比如${workspaceFolder}/dist/index.js;填${file}只适用于单文件脚本,且该文件必须是已保存、能被node直接加载的.js
code-runner 插件跑 JS 乱码、卡死、不支持 import
它默认命令是 node $fileName,不处理编码、模块类型、输入流,也不读 package.json,所以极易出问题。
- Windows 中文路径乱码:在 VSCode 设置里搜
code-runner.executorMap,把javascript对应值改成:"node -r utf-8 $fileName" - ESM 报
Cannot use import statement outside a module:先确保项目根目录package.json有"type": "module",再把 executor 改成:"node --experimental-specifier-resolution=node $fileName" - 遇到
process.stdin就假死:这是 code-runner 的固有限制,它不支持交互式输入;换成内置终端手动运行,或直接按F5用调试模式
真正容易被忽略的是:VSCode 启动方式决定了它能不能看到你配置的 PATH,而调试器和插件又各自维护一套查找逻辑。不是装了 Node.js 就万事大吉,得让每个环节都“看见”那个 node 可执行文件。










