根本原因是node.js安装路径未加入系统path环境变量,需重装node.js并勾选“add to path”,或手动将安装目录(如c:\program files\nodejs)添加到系统变量path中,之后彻底关闭并重启所有终端和vscode窗口。

node -v 报“不是内部或外部命令”怎么办
根本不是 VSCode 的问题,而是 Windows 没把 node.exe 加进系统 PATH。VSCode 内置终端只继承系统环境变量,它不会自己猜路径。
- 重装 Node.js(从
nodejs.org/download下 LTS .msi 包),安装时必须勾选 “Add to PATH” - 装完立刻关掉所有已打开的 CMD、PowerShell 和 VSCode 窗口——旧进程不会自动读新 PATH
- 新开一个 CMD,执行
node -v和npm -v,有输出才算真正成功 - 如果用
nvm-windows,装完后还得手动运行nvm use 20.18.0(替换成你装的版本)激活,否则node依然不可用
VSCode 终端能跑 node,但调试报“无法启动程序”
常见于 launch.json 配置和项目结构不匹配。VSCode 调试器不看当前打开的文件,只认 program 字段指定的路径。
- 务必通过“文件 → 打开文件夹”打开整个项目根目录(含
package.json或入口文件),别只打开单个.js文件 - 按
Ctrl+Shift+D进入调试视图,点“创建launch.json”,选“Node.js”环境 - 检查生成的
"program"值:默认是"${workspaceFolder}/index.js",你的主文件叫app.js就得改成"${workspaceFolder}/app.js" - 别改
"type": "node"和"request": "launch",这两个是调试器识别协议的关键,改错就直接不触发调试流程
全局 npm 工具(如 nodemon)在 VSCode 终端里找不到
不是没装,是 npm 全局 bin 目录没进系统 PATH。Windows 下 npm 默认装到 C:\Users\{user}\AppData\Roaming\npm,这个路径必须手动加。
- 先查真实路径:
npm config get prefix,输出类似C:\Users\xxx\AppData\Roaming\npm - 把这个路径加进系统环境变量
PATH(控制面板 → 系统 → 高级 → 环境变量 → 系统变量 → Path → 编辑 → 新建) - 加完后必须完全关闭并重启 VSCode(只重启终端不够,它缓存的是启动时的环境)
- 如果之前改过
prefix(比如设到D:\npm-global),那就把那个自定义路径加进去,而不是默认路径
调试前文件没保存,断点不生效
VSCode 调试器运行的是磁盘上已保存的代码,不是编辑器里未保存的缓冲区内容。这是最常被忽略的细节。
- 按
Ctrl+S(Windows/Linux)或Cmd+S(macOS)手动保存当前文件,再按F5 - 可以开启自动保存:
File → Preferences → Settings,搜files.autoSave,设为afterDelay或onFocusChange - 断点打在未保存的行上,调试器会跳过——它加载的是旧版本,所以红点会变灰,鼠标悬停提示“断点未绑定”
node 命令本身在系统层面不可用,所有后续环节都会卡在第一步。PATH 和保存动作这两件事,看似简单,却是实际开发中最容易反复踩坑的两个点。











