vscode本身不提供node.js运行环境,必须系统级安装并正确配置path;验证需在原生终端执行where/node或which/node及node -v/npm -v,失败则重装node时勾选“add to path”并彻底重启vscode。

VSCode 本身不带 Node.js,node 命令必须系统级可用,否则所有调试、运行、插件功能都会失效——这不是 VSCode 设置问题,而是环境没配对。
验证 node 和 npm 是否真可用
别在 VSCode 终端里试,先关掉所有 VSCode 窗口(macOS 在 Dock 右键「退出」,Windows 在任务管理器确认 Code.exe 已结束),然后打开系统终端:
- Windows:运行
where node和where npm,输出路径应是C:\Program Files\nodejs\node.exe这类真实安装位置 - macOS/Linux:运行
which node和which npm,确保不是/usr/bin/node(那是系统自带的旧版) - 再执行
node -v和npm -v,两个都返回版本号才算过关
如果失败,重装 Node.js LTS 版时务必勾选 Add to PATH;Windows 用户避开中文/空格路径(如 D:\我的项目\nodejs),macOS/Linux 用户若用 nvm,确认 source ~/.nvm/nvm.sh 已写入 ~/.zshrc 并已生效。
launch.json 中 program 字段怎么设才不报错
VSCode 自动生成的 launch.json 默认是 "program": "${workspaceFolder}/app.js",但你实际要调试的是 server.js 或 index.js?直接改就行:
- 单文件调试:设为
"program": "${file}"—— 每次 F5 都运行当前打开的 JS 文件,最省心 - 固定入口:设为
"program": "${workspaceFolder}/index.js"—— 适合有明确启动文件的项目 - 想跑
npm start:把"program"改成"npm",加"args": ["start"]和"console": "integratedTerminal",否则看不到日志输出
注意:launch.json 不会自动保存未保存的文件,调试前必须手动按 Ctrl+S(Windows/Linux)或 Cmd+S(macOS)。
为什么 VSCode 终端能跑 node,却找不到 nodemon
常见现象:系统终端里 nodemon --version 正常,但在 VSCode 内置终端报 command not found。根本原因是 VSCode 启动时没读取 shell 配置文件(比如 ~/.zshrc)。
- 临时解决:在 VSCode 终端里手动执行
source ~/.zshrc(macOS/Linux)或refreshenv(Windows PowerShell) - 长期方案:改用 VSCode 的「集成终端首选项」→「Terminal › Integrated › Default Profile: Linux/macOS」选对应 shell,或重启 VSCode(完全退出后再开)
- 检查是否生效:在 VSCode 终端里运行
npm config get prefix,输出应和你在系统终端里一致
如果改过全局路径(比如 npm config set prefix "D:\npm-global"),记得把这个路径加进系统 PATH,否则 VSCode 就找不到你装的全局命令。
调试时断点不生效或提示 Cannot find runtime 'node'
这不是插件问题,也不是 launch.json 写错了,而是底层 node 运行时根本没被识别。
- 第一步永远是:在 VSCode 内置终端里敲
node -v—— 如果报错,其他全不用试 - 不要装「Node.js Extension Pack」这类过时插件,VSCode 自带 Node.js 调试支持,装了反而可能冲突
- 热重载调试必须用
attach模式:先终端运行nodemon --inspect-brk index.js,再在launch.json里配"type": "node"、"request": "attach"、"port": 9229
最容易被忽略的细节:VSCode 内置终端是否继承了你 shell 里生效的环境变量。它不是“打开就自动同步”,而是“启动那一刻快照”。改完 PATH 或 npm 配置后,不彻底重启 VSCode,很多问题就卡在这一步。










