Node.js必须独立安装,VSCode不提供运行时;需在系统终端验证node -v和npm -v成功,重启VSCode确保环境变量生效,launch.json中program设为"${file}",npm需配置镜像与全局路径并重装工具。

Node.js 必须独立安装,VSCode 不提供运行时
VSCode 是编辑器,不是运行环境。它不自带 node 或 npm,装错位置、PATH 没生效、版本冲突——这三类问题占新手启动失败的 90% 以上。
别信“双击安装完就 ok”这种说法。必须手动下载 LTS 版(非 Current),安装时 Windows 用户务必勾选 Add Node.js to PATH;macOS/Linux 若用 nvm,得确认 source ~/.nvm/nvm.sh 已写入 ~/.zshrc 并在新终端中生效。
- 安装路径避免中文和空格(如
C:\Program Files\nodejs可,D:\我的软件\nodejs不行) - 装完立刻关掉所有 VSCode 窗口(macOS 在 Dock 右键选「退出」,Windows 在任务管理器里确认
Code.exe已结束) - 打开系统终端(不是 VSCode 内置终端),执行
node -v和npm -v—— 只有这里能成功,才说明基础环境真通了
验证 VSCode 终端是否继承了真实环境变量
很多人在系统终端能跑 node -v,但在 VSCode 里报 command not found。这不是 VSCode 的 bug,是它没读到你 shell 的最新 PATH。
VSCode 启动时会继承父进程的环境变量,但不会自动 reload shell 配置文件(比如 ~/.zshrc)。所以即使你改了 PATH,VSCode 也可能还在用旧快照。
- 先在系统终端执行
which node(macOS/Linux)或where node(Windows),确认输出是你安装的路径(如/usr/local/bin/node或C:\Program Files\nodejs\node.exe) - 再打开 VSCode,按
Ctrl+`打开内置终端,立刻执行node -v—— 这次的结果才代表 VSCode 能真正调用到 - 如果失败,重启 VSCode(不是重开窗口,是彻底退出再启动),或在 VSCode 终端里手动执行
source ~/.zshrc(macOS/Linux)
npm 全局路径和镜像必须提前配好
不配镜像,npm install 极易卡死;不改全局路径,npm install -g nodemon 默认装进 C 盘,几个月后可能爆满。
配完之后一定要验证:在系统终端里执行 npm config get prefix 和 npm config get registry,输出必须是你设的值。否则 VSCode 终端里照样找不到全局命令。
- 换淘宝镜像(当前有效):
npm config set registry https://registry.npmmirror.com - 改全局安装路径(例如 D 盘):
npm config set prefix "D:\npm-global",然后把D:\npm-global加进系统 PATH - 改完后重装关键工具:
npm install -g nodemon,再在任意目录试nodemon --version - VSCode 终端若仍提示
command not found,大概率是没继承 shell 配置 —— 重启 VSCode 或手动source更直接
launch.json 中 program 字段别写死,调试前记得保存文件
VSCode 自带 Node.js 调试支持,不需要额外装 Debugger for Node.js 插件。但默认生成的 launch.json 容易踩坑。
自动生成的配置里 "program": "${workspaceFolder}/app.js" 是硬编码,你换一个入口文件(比如 server.js)就 F5 失败。而且 VSCode 调试器默认不会自动保存当前文件 —— 断点设好了,但代码没存,F5 运行的还是旧版本。
- 单文件调试用
"program": "${file}",最安全 - 项目级调试建议固定入口,比如
"program": "${workspaceFolder}/index.js" - 调试前务必按
Ctrl+S(Windows/Linux)或Cmd+S(macOS)手动保存 - 想用
npm start启动?把"program"改成"npm",加"args": ["start"]和"console": "integratedTerminal"
最常被忽略的是:VSCode 终端是否真的加载了你 shell 里已生效的 npm 配置。哪怕只差一行 source,nodemon 就会找不到。环境变量这事,没有“差不多”,只有“完全一致”。


















