VSCode本身不提供Node.js运行环境,必须先确保系统已正确安装并暴露node命令;否则所有“一键运行”操作都会失败——不是插件没装对,而是根本没路可走。验证node是否真可用,别信终端里看到的版本号:很多人在系统终端敲node -v看到输出就以为万事大吉,结果VSCode内置终端报command not found: node,这是因为VSCode启动时未必加载shell初始化文件(如~/.zshrc),PATH没继承过去;需彻底退出VSCode进程,用which node或where node确认路径,再重启VSCode并在内置终端执行node -v验证;调试前必须配对launch.json的program字段,单文件用"${file}",项目入口须显式写为"${workspaceFolder}/src/index.js"等真实JS路径,TS或打包项目必须指向编译后的.js文件且开启sourceMaps,ESM项目需在package.json中声明"type": "module",并注意调试器调用的node可能与终端不一致,必要时通过runtimeExecutable显式指定。

VSCode 本身不提供 Node.js 运行环境,必须先确保系统已正确安装并暴露 node 命令;否则所有“一键运行”操作都会失败——不是插件没装对,而是根本没路可走。
验证 node 是否真可用,别信终端里看到的版本号
很多人在系统终端(如 macOS 的 Terminal、Windows 的 CMD/PowerShell)里敲 node -v 看到输出就以为万事大吉,结果 VSCode 内置终端报 command not found: node。这是因为 VSCode 启动时未必加载 shell 初始化文件(比如 ~/.zshrc),PATH 没继承过去。
- 关掉所有 VSCode 窗口,**彻底退出进程**(macOS 在 Dock 右键选「退出」,Windows 在任务管理器确认
Code.exe已结束) - 打开系统终端,运行
which node(macOS/Linux)或where node(Windows),确认路径合理(如/usr/local/bin/node或C:\Program Files\nodejs\node.exe) - 再启动 VSCode,按
Ctrl + `打开内置终端,立刻执行node -v—— 这次有输出才算真正可用
用内置终端运行,别依赖 Code Runner 插件
Code Runner 默认命令是 node $fileName,它绕过项目上下文、不读 package.json、不处理编码和模块类型,极易出错。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 中文路径下乱码?加
-r utf-8:把插件设置里的code-runner.executorMap中javascript改为"node -r utf-8 $fileName"(仅 Windows 有效) - ESM 报
Cannot use import statement outside a module?先确保根目录package.json含"type": "module",再把 executor 改成"node --experimental-specifier-resolution=node $fileName" - 遇到
process.stdin就卡住?Code Runner不支持交互式输入,直接换用内置终端手动执行node index.js
调试前必须配对 launch.json 的 program 字段
点 F5 报 Cannot launch program because corresponding JavaScript cannot be found,90% 是因为 program 指向了错误路径。
- 单文件调试用
"program": "${file}";但项目入口通常是src/index.js或dist/index.js,就得显式写成"program": "${workspaceFolder}/src/index.js" - TypeScript 或打包项目(Vite/Webpack),
program必须指向编译后的.js文件,不是.ts源码;同时确保tsconfig.json开启"sourceMaps": true - ESM 项目没加
"type": "module"到package.json,调试器仍按 CommonJS 解析,import会报错,路径也会错乱
最常被忽略的一点:VSCode 调试器调用的 node 和你在终端里敲的 node 可能不是同一个——尤其用了 nvm 或多版本共存时。加一行 console.log(process.execPath),对比终端输出和调试器输出,不一致就得在 launch.json 里显式填 runtimeExecutable。

















