能跑 node -v 和 npm -v,且 vscode 里按 f5 能断点进 index.js,才算搭好测试环境;验证必须在系统终端执行,报错说明 path 未生效或路径含中文/空格,vscode 内置调试器直接可用,无需额外插件。

能跑 node -v 和 npm -v,且 VSCode 里按 F5 能断点进 index.js,才算搭好测试环境——其余全是可选。
验证 node 和 npm 是否真可用
很多人卡在这一步,却去调 launch.json 或重装插件。关键不是 VSCode 的问题,是系统根本没认出 node。
- 必须在系统终端(Windows 是 cmd/PowerShell,macOS/Linux 是 Terminal.app)里执行
node -v和npm -v,两个都输出版本号才算过关 - Windows 安装时漏勾
Add to PATH?手动把C:Program Files odejs(或你实际的安装路径)加进系统环境变量Path,然后彻底关闭所有终端和 VSCode 再重开 - macOS/Linux 用
nvm?检查~/.zshrc或~/.bash_profile里是否写了source ~/.nvm/nvm.sh,新开终端后运行which node确认路径 - 路径含中文或空格(比如
D:我的项目 odejs)会导致npm静默失败,重装到纯英文无空格路径下
VSCode 内置调试器直接可用,别装 Debugger for Node.js
VSCode 自带 Node.js 调试支持,2026 年仍有效。装旧版插件反而可能冲突,尤其当你看到 “Cannot find runtime 'node'” 时,90% 是环境没配好,不是插件问题。
ZenHeart zenlink 与 zenlink-mcp 为 OpenClaw,涵盖安装、MCP 注册、钩子接线、入站轮询及升级维护。
- 新建文件夹 → 用 VSCode 打开 → 创建
index.js,写console.log('test'); -
Ctrl+Shift+P(macOS 是Cmd+Shift+P)→ 输入Debug: Open Configuration→ 选Node.js → Current File - VSCode 自动生成
.vscode/launch.json,核心字段是"program": "${file}",表示运行当前打开的 JS 文件 - 在
console.log行号左侧单击设断点 → 按F5启动 → 若弹窗报错,先回第一步查node -v
调试 npm script 或 nodemon 时的配置差异
默认生成的 launch.json 只适合单文件调试。想 debug npm start 或热重载服务,得改配置,否则看不到日志、断点不生效。
- 调试
npm start:把launch.json中的"program"改成"npm",加"args": ["start"],并设"console": "integratedTerminal",否则输出被吞掉 - 用
nodemon热重载?launch.json不能直接跑nodemon—— VSCode 调试器不支持进程热替换;正确做法是:
① 终端执行nodemon --inspect-brk index.js
② 在launch.json中配"type": "node"、"request": "attach"、"port": 9229(默认端口) - 多个 Node 版本共存(如 nvm 切换)?在
launch.json显式写"runtimeExecutable": "/usr/local/bin/node"(macOS/Linux)或"runtimeExecutable": "C:\nodejs\node.exe"(Windows),避免 VSCode 从 PATH 里抓错版本
别用 Code Runner 运行模块化代码
Code Runner 插件快捷键 Ctrl+Alt+N 看似方便,但在 "type": "module" 项目里会直接报 Cannot use import statement outside a module,因为它绕过 package.json 上下文,不读 type 字段。
- 正式开发中,一律用 VSCode 内置终端(
Ctrl+`)执行node index.js或npm run dev,行为与部署环境一致 - 如果用了 ES Module,确保
package.json有"type": "module",且文件扩展名是.mjs或明确声明,否则 node 默认按 CommonJS 解析 -
console.log(process.execPath)是验证当前执行 node 路径最直接的方式,对比终端输出和调试器里打印的路径是否一致
真正容易被忽略的,是环境变量生效时机和多版本 node 的隐式调用——改完 PATH 不重启 VSCode,或没配 runtimeExecutable,断点就永远停不住。其他都是顺手的事。










