VSCode 不自带可升级的 Node.js 运行时,需通过系统 PATH 或 launch.json 显式配置指向本地最新版 node;终端和调试器分别依赖 shell 环境与 runtimeExecutable 设置,nvm 是跨平台推荐方案,切勿尝试修改 VSCode 内置 Node。

VSCode 本身不自带可升级的 Node.js 运行时,它只依赖你系统里已安装的 node 可执行文件。所谓“在 VSCode 中升级 Node”,本质是让 VSCode 正确调用你本地最新版的 node —— 而不是去动 VSCode 自带的(不可见、不可替换)内部 Node。
确认当前 VSCode 实际调用的是哪个 node
VSCode 的终端和调试器默认使用系统 PATH 中第一个 node。但容易被忽略的是:Windows 用户常遇到 PowerShell / CMD / Git Bash 各自 PATH 不一致,导致 VSCode 终端里 node -v 和外部命令行结果不同。
- 在 VSCode 内置终端中运行
which node(macOS/Linux)或where node(Windows),看路径是否指向你期望的版本(比如~/.nvm/versions/node/v20.15.0/bin/node或C:UsersXXX vm20.15.0 ode.exe) - 如果显示的是旧版路径(如
C:Program Files odejs ode.exe),说明 VSCode 没读到你用nvm或n切换后的版本 - 常见原因:VSCode 启动时未加载 shell 配置(
.zshrc、.bashrc或nvm.ps1),尤其 Windows 上 PowerShell 默认不执行 profile
用 nvm 或 n 安装并切换到最新稳定版
nvm(macOS/Linux)和 nvm-windows(Windows)是目前最可靠的方案;n 工具轻量但 Windows 支持差,不推荐。
- 先查可用的 LTS 版本:
nvm ls-remote --lts,选一个标有LTS的(如v20.15.0) - 安装它:
nvm install v20.15.0(不要用nvm install --lts,某些旧版 nvm 会装错) - 设为当前使用:
nvm use v20.15.0 - 设为默认(新开终端自动生效):
nvm alias default v20.15.0 - Windows 用户注意:
nvm-windows安装后需手动在 VSCode 设置中启用 PowerShell profile 加载,或改用 Git Bash 作为默认终端
VSCode 调试器必须显式指定 runtimeExecutable
即使终端里 node -v 显示正确,VSCode 的 JavaScript 调试器(launch.json)仍可能用旧版 Node,除非你明确告诉它用谁。
- 在项目根目录创建
.vscode/launch.json - 添加字段:
"runtimeExecutable": "/path/to/your/node"(macOS/Linux)或"runtimeExecutable": "C:\Users\XXX\nvm\v20.15.0\node.exe"(Windows) - 路径必须绝对且可执行;不能写
"node"或相对路径 - 若用 WSL,路径要写 WSL 内部路径(如
/home/xxx/.nvm/versions/node/v20.15.0/bin/node),而非 Windows 路径
别碰 VSCode 内置 Node,也别信“升级内置 Node”说法
VSCode 源码里确实嵌了一个 Node.js(用于 Extension Host 等内部功能),但它被编译进二进制,用户无法访问、替换或配置。网上所谓“升级 VSCode 内置 Node”都是误导——你改不了,也不该改。
真正影响你开发体验的只有两处:终端里跑脚本用的 node,和调试器启动时用的 node。这两者都由你系统环境控制,和 VSCode 自身无关。复杂点在于路径加载时机和跨 Shell 一致性,而不是工具链本身有多难。


















