vscode本身不运行node.js,必须依赖系统已安装且能被正确找到的node命令;需先在vscode内置终端执行node -v和npm -v验证,成功后才可配置launch.json调试、运行单文件或使用code runner插件。

VSCode 本身不运行 Node.js,必须依赖系统已安装且能被终端正确调用的 node 命令——没装 Node.js、PATH 没继承、或 node -v 在 VSCode 终端里报错,后续所有调试和运行都白搭。
确认 node 命令在 VSCode 终端里真正可用
这是最常被跳过的一步,但它是全部操作的前提:
- 按
Ctrl + `打开 VSCode 内置终端,输入node -v和npm -v;必须看到版本号,否则别往下走 - macOS/Linux:从 Dock 或 Spotlight 启动 VSCode 不会加载 shell 配置(如
~/.zshrc),改完 PATH 后必须重启 VSCode,更可靠的是在终端执行code .启动项目 - Windows:安装 Node.js 时没勾选 “Add to PATH”,就得手动把
C:\Program Files\nodejs\加进系统环境变量 - 验证方式只有一种:在 VSCode 的终端里跑出
node -v输出。其他任何地方(比如系统终端、IDEA、iTerm)成功都不算数
直接运行单个 JS 文件(适合快速验证)
不需要配置文件,适合学习、脚手架测试或小工具:
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 确保当前打开的是目标
.js文件(如test.js) - 终端里执行
node test.js,输出立刻可见 - 如果文件在子目录(如
src/index.js),必须写全路径:node src/index.js,不能只在src/下执行node index.js(工作目录不对会导致require()失败) - ESM 项目(用了
import)必须在package.json中加"type": "module",否则报Cannot use import statement outside a module
用 launch.json 调试带断点的脚本(推荐开发态)
这是查逻辑、看变量、单步执行的唯一可靠方式,program 字段最容易填错:
- 按
Ctrl + Shift + D→ 点“创建 launch.json” → 选Node.js,生成基础配置 -
"program": "${file}"表示运行当前打开的文件;若入口固定(如app.js),显式写成"program": "${workspaceFolder}/app.js" - 不要乱加
runtimeExecutable,除非你明确用 nvm 切版本且需要锁定路径(例如"runtimeExecutable": "~/.nvm/versions/node/v18.18.2/bin/node") - 需要传命令行参数?加
"args": ["--port", "3001"] - 想在终端里交互输入(比如
process.stdin)?必须设"console": "integratedTerminal",否则输入会被吞掉
Code Runner 插件的坑与绕过方法
它方便但不可靠,尤其在中文路径、ESM 或需要 stdin 的场景下极易失败:
- 默认配置
"javascript": "node $fileName"有问题:不处理路径、不支持 ESM、不兼容中文路径 - 改成
"javascript": "node --no-warnings --experimental-specifier-resolution=node $fullFileName"可缓解 ESM 和路径问题 - Windows 中文乱码?在设置中搜
code-runner.executorMap,把值改成"node -r utf-8 $fullFileName" - 只要脚本里有
process.stdin或readline,Code Runner 就会假死——这时只能切回集成终端手动node xxx.js,或老实用 F5 调试
真正卡住人的从来不是“怎么配”,而是 node -v 在 VSCode 终端里没输出,或者 launch.json 里的 program 指向了一个不存在的路径、一个还没编译的 .ts 文件、或一个 CommonJS 环境下硬塞了 import 的 ESM 脚本。这些地方一错,断点就不命中,F5 就报错,连最基本的 console.log 都看不到。










