能跑 node -v 和 npm -v 且 vscode 按 f5 断点调试 index.js 成功,才算环境真正可用;其余均为可选。核心是确保 node 和 npm 在系统终端(非 vscode 内置终端)中可执行,否则必因 path 未正确配置所致。

能跑 node -v 和 npm -v,且 VSCode 能对 index.js 按 F5 断点调试,才算环境真正可用——其余插件、格式化、TypeScript 都是后续可选动作,不是启动门槛。
验证 node 和 npm 是否真在系统 PATH 里
很多人卡在这步,却以为是 VSCode 的问题。必须用「系统终端」(Windows 是 cmd/PowerShell,macOS/Linux 是 Terminal.app)执行:
node -vnpm -v
如果报错 'node' 不是内部或外部命令 或 command not found,说明 Node.js 根本没进系统 PATH:
- Windows 安装时漏勾 Add to PATH:重装 LTS 版,务必勾选;若已装,手动把
C:\Program Files\nodejs(或你实际安装路径)加进系统环境变量Path,然后关掉所有终端窗口再重开 - Windows 路径含中文或空格(如
D:\我的软件\nodejs):npm 会静默失败,重装到纯英文无空格路径(如D:\nodejs) - macOS/Linux 用
nvm:确认source ~/.zshrc(或~/.bash_profile)已写入,并在新终端里执行过;which node应输出 nvm 管理的路径 - VSCode 内置终端可能缓存旧环境变量:关掉所有 VSCode 窗口,重新打开项目文件夹再试
VSCode 调试器不需要额外插件
VSCode 自带 Node.js 调试支持,Node.js Extension Pack 或 Debugger for Node.js 这类插件现在已过时,装了反而可能冲突。
只要 node -v 和 npm -v 在系统终端成功,就只需三步启用调试:
- 新建文件夹,创建
index.js,写一行console.log('ok'); - 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入Debug: Open Configuration,选择Node.js → Current File - VSCode 自动生成
.vscode/launch.json,其中"program": "${file}"表示运行当前打开的 JS 文件
此时在行号左侧单击设断点,按 F5 即可启动。若提示 Cannot find runtime 'node',一定是上一步环境没配好,不是 launch.json 设置问题。
launch.json 中 program 字段别写死
默认生成的 launch.json 里 "program": "${workspaceFolder}/app.js" 是典型陷阱——它只认 app.js,换文件(比如 server.js)就 F5 失败。
更稳妥的做法是:
- 如果项目有固定入口(如
index.js),把"program"改成"${workspaceFolder}/index.js" - 如果想调试任意打开的文件,保持
"program": "${file}",但调试前务必先Ctrl+S保存,VSCode 不会自动保存未保存的文件 - 想调试
npm start?把"program"改成"npm","args"设为["start"],并加"console": "integratedTerminal",否则看不到 npm 输出 - 用
nodemon热重载?不能直接调nodemon,必须用 attach 模式:先命令行跑nodemon --inspect-brk index.js,再在launch.json中设"type": "node"、"request": "attach"、"port": 9229
npm 镜像和全局路径建议提前配好
国内不配镜像,npm install 常卡住;不改全局路径,npm install -g nodemon 默认装到 C 盘,容易占满空间。
执行这两条命令即可:
npm config set registry https://registry.npmmirror.comnpm config set prefix "D:\npm-global"(Windows)或 npm config set prefix "$HOME/npm-global"(macOS/Linux)
然后把该路径加进系统 PATH,再重装工具:npm install -g nodemon。验证是否生效:npm config get prefix 和 npm config get registry 应输出对应值。
最容易被忽略的是:VSCode 终端是否继承了 shell 里已生效的 npm 配置。如果系统终端能用 nodemon,但在 VSCode 里提示 command not found,大概率是终端没读取 shell 配置文件——重启 VSCode 或手动在终端里执行 source ~/.zshrc 更直接。











