能跑 node -v 且 vscode 按 f5 可断点调试才算搭好 node 开发环境;需确保系统 path 正确配置 node.js 和 npm 全局 bin 路径,并彻底重启 vscode 使环境变量生效。

能跑 node -v 且 VSCode 能按 F5 断点调试,才算搭好了——其余插件、格式化、TypeScript 都是后续可选项,不是启动 Node 开发的门槛。
确认系统级 Node.js 是否真正可用
很多人卡在 VSCode 报 'node' 不是内部或外部命令,却去调 VSCode 设置,其实问题根本不在编辑器。打开 Windows 原生 CMD 或 PowerShell(不是 VSCode 内置终端),执行:
-
node -v和npm -v必须都有版本输出 - 若报错,说明 Node.js 没进系统 PATH:重装 LTS 版本时务必勾选 Add to PATH
- 若已安装但漏勾选,手动把 Node.js 安装目录(如
C:\Program Files\nodejs)加到「系统环境变量」→Path中 - 改完 PATH 后,**必须关闭所有已打开的 CMD/PowerShell/VSCode 窗口,再全新启动**——旧进程不会自动读取新环境变量
VSCode 终端能否继承 PATH 是关键验证点
VSCode 启动方式决定它能不能拿到你配好的环境变量。Windows 下常见失效场景:
- 从桌面图标或开始菜单启动 VSCode → 它可能没加载系统 PATH 更新
- 从已打开的 CMD 中执行
code .启动 → 能继承当前终端环境,最可靠 - 验证方法:在 VSCode 内置终端(
Ctrl+`)里直接敲node -v,有输出才算过关 - 如果系统终端能用、VSCode 终端不能用,别折腾 launch.json,先解决这个继承问题
launch.json 里 program 字段别写死路径
VSCode 自动生成的 launch.json 默认是 "program": "${workspaceFolder}/index.js",但实际项目入口名千差万别:
- 你的主文件叫
app.js?那就改成"program": "${workspaceFolder}/app.js" - 想临时调试任意打开的 JS 文件?把值设为
"${file}",F5 就运行当前标签页 - 千万别写成
"./src/index.js"这种相对路径——${workspaceFolder}才是根目录基准 - 确保你在 VSCode 里是通过「文件 → 打开文件夹」打开整个项目(含
package.json或入口文件),不是只打开单个 JS 文件
全局工具(如 nodemon)在 VSCode 终端里找不到?
这是 npm 全局 bin 目录没进 PATH 的典型表现,和 node 本身是否可用是两个独立问题:
- 执行
npm config get prefix查看全局安装路径(默认是C:\Users\XXX\AppData\Roaming\npm) - 把这个路径手动加进系统环境变量
Path(不是用户变量,是系统变量更稳妥) - 加完后,**必须彻底关闭并重启 VSCode**,内置终端才可能读到更新
- 验证:在 VSCode 终端里运行
nodemon -v,有输出即生效
最容易被忽略的是:VSCode 内置终端和调试器依赖两套不同路径查找逻辑——前者靠 shell 环境继承,后者靠 launch.json 显式指定。只要 node -v 在 VSCode 终端里成功,且 program 指向真实存在的 JS 文件,断点就该命中;其他问题基本都绕不开这两条。











