vscode内置终端无法执行node命令的根本原因是环境变量path未正确继承。windows需重装node并勾选“add to path”,macos/linux须从终端启动code .或彻底重启vscode,且调试时需显式配置runtimeexecutable及esm支持参数。

node 命令能在系统终端里执行成功,VSCode 就算启用了 Node 环境——它不“启用”,只“继承”。所有失败都卡在环境变量没传进去。
VSCode 终端报 node 不是内部或外部命令
这不是 VSCode 配错了,是它根本没拿到 node 的路径。
- Windows 用户:安装 Node.js 时必须勾选 “Add to PATH”;没勾就重装,别手动加路径——容易漏掉
C:Program Files odejs和C:UsersXXXAppDataRoaming pm - macOS/Linux 用户:从 Dock 或 Spotlight 启动 VSCode,不会加载
~/.zshrc;改完export PATH后只source ~/.zshrc不够,必须彻底关闭 VSCode 再重开,或者直接在终端里运行code . - 验证方式唯一:打开 VSCode 内置终端(
Ctrl + `),输node -v和npm -v—— 两个都有输出才算真正生效
调试时断点不命中、提示 Cannot launch program
不是代码问题,是 launch.json 指向了错误位置或错版本 node。
诊断并恢复通过 SSH 隧道连接的 OpenClaw 节点。用于解决配对必需错误、隧道冲突、远程端点错误以及 SSH 目标配置错误等问题。
-
"program"字段必须指向真实可执行的.js文件,比如"${workspaceFolder}/server.js";别用"${file}"调试多文件项目,工作目录会错 - 如果用了
nvm或多个 Node 版本,务必显式配置"runtimeExecutable",例如"C:\Program Files\nodejs\node.exe"(Windows)或"/usr/local/bin/node"(macOS) - ESM 项目(含
"type": "module")必须确保入口文件后缀是.mjs或 package.json 已声明,否则调试器仍按 CommonJS 解析,import直接报错
Code Runner 插件跑 JS 总是乱码、卡住、不支持 import
它默认命令太简陋:node $fileName,不处理编码、模块类型、输入流。
- Windows 中文路径乱码?改
code-runner.executorMap里javascript对应值为:"node -r utf-8 $fileName" - ESM 报
Cannot use import statement outside a module?先确认 package.json 有"type": "module",再把 executor 改成:"node --experimental-specifier-resolution=node $fileName" - 脚本里用了
process.stdin.on('data', ...)?Code Runner 完全不支持交互式输入,换到内置终端手动跑node app.js,或直接按F5调试










