VSCode本身不运行JavaScript,必须依赖系统已安装且PATH可达的Node.js;先验证终端中node -v可用,再确保VSCode继承Shell的PATH(macOS/Linux用code .启动,Windows检查Add to PATH),最后正确配置launch.json的program字段指向真实JS文件。

VSCode 本身不自带 Node.js 运行环境,所谓“配置 Node 环境”,本质是确保 node 和 npm 命令能在 VSCode 终端中被正确识别并执行——不是 VSCode 要装 Node,而是你的系统 PATH 要对、终端要继承正确环境。
确认系统已安装 Node.js 并可用
很多人卡在这一步却以为是 VSCode 的问题。打开系统终端(macOS/Linux Terminal,Windows PowerShell 或 CMD),运行:
node -v<br>npm -v
如果报错 command not found 或 'node' is not recognized,说明 Node.js 根本没装,或没加进系统 PATH。VSCode 的集成终端默认继承系统 shell 环境,它不会“自己找” Node。
- macOS:用
brew install node安装后,通常自动加入 PATH;若用官网 pkg 安装,需检查/usr/local/bin是否在$PATH中 - Windows:安装时务必勾选 “Add to PATH”;若已安装但无效,重启 VSCode(甚至重启终端进程)才能刷新环境变量
- Linux:确认
which node输出有效路径,且该路径在$PATH里
VSCode 终端是否用了正确的 Shell
VSCode 默认终端可能不是你日常用的 shell,比如 macOS 上它可能启用了 zsh,但你配置了 bash 的 PATH;或者 Windows 上默认是 PowerShell,而 Node 是为 CMD 配置的。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入 “Terminal: Select Default Profile”,选你常用且已配好 Node 的 shell - 关闭所有终端面板,再打开新终端,运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows),确认输出包含 Node 安装路径(如/usr/local/bin或C:\Program Files\nodejs\) - 别依赖 VSCode 设置里的
terminal.integrated.env.*手动加 PATH——治标不治本,容易漏掉 npm 全局 bin 路径
验证 JS 文件能否被 Node 正确执行
写个 test.js,内容就一行:console.log("Node works");。右键文件 → “Run Code” 不可靠(那是 Code Runner 插件行为,未必调用你本地 Node);正确做法是:
- 在 VSCode 终端中,cd 到该文件所在目录,执行
node test.js - 如果报错
Cannot find module,检查当前目录是否真有test.js,注意大小写和扩展名 - 如果报错
ERR_UNSUPPORTED_ESM,说明你用了import但没加"type": "module"或没用.mjs后缀——这不是环境配置问题,是语法兼容性问题
调试时 launch.json 的常见陷阱
VSCode 调试 Node 应用依赖 .vscode/launch.json,但很多新手直接复制模板却不改关键字段。
-
runtimeExecutable一般不用设——除非你有多个 Node 版本且想指定某一个;设了反而容易指向错误路径 -
program必须是相对路径(如"${workspaceFolder}/index.js"),不能写绝对路径或错拼文件名 - 使用 ES Module 项目时,
env里加"NODE_OPTIONS": "--experimental-specifier-resolution=node"可能必要,但 Node 20+ 已默认支持,不必盲目添加 - 调试 TypeScript 项目?别只配 Node 启动项——你需要先编译,或用
ts-node,且runtimeArgs要设["-r", "ts-node/register"]
环境变量、工作目录、端口冲突这些细节,往往比“能不能跑”更耗时间;Node 版本差异带来的 API 变更(比如 fs.promises 在旧版不可用),也常被当成配置失败。


















