VSCode设Node全局环境变量需用terminal.integrated.env.*注入或修改系统PATH;因VSCode不继承shell配置,从Dock/开始菜单启动时~/.zshrc和PATH均未加载,必须彻底重启VSCode才生效。

VSCode 里设 Node 全局环境变量,不是往系统 PATH 里加一条路径就完事——它压根不继承你的 shell 初始化逻辑,尤其从 Dock、开始菜单启动时,~/.zshrc 或 PATH 根本没加载。真正生效的方式只有两种:改系统级 PATH(一劳永逸),或用 VSCode 自带的 terminal.integrated.env.* 注入(灵活但需手动配)。
终端里 node -v 报 command not found 怎么办
这是最常见也最容易误判的问题。别急着改 launch.json 或装插件,先在 VSCode 内置终端(Ctrl + `)里敲:node -v。没输出?说明环境变量根本没进来。
- macOS/Linux:从 Dock 启动 VSCode 不会读
~/.zshrc;必须彻底退出所有 VSCode 窗口,再从终端执行code --no-sandbox . - Windows:检查「系统属性 → 高级 → 环境变量」中「系统变量」的
Path,确认含C:Program Files odejs(注意反斜杠方向、空格、中文路径) - 重装 Node.js 时务必勾选
Add to PATH;若已安装却没勾,手动添加后必须重启 VSCode(不是重载窗口)
用 terminal.integrated.env.* 注入 NODE_OPTIONS 或自定义 PATH
当你无法改系统变量(比如公司电脑权限受限),或要为不同项目指定不同 Node 版本(如配合 nvm),就得靠这个机制。它不是覆盖 PATH,而是在终端启动时把新路径“前置”进去,优先级高于系统原有值。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 全局生效:在 VSCode 设置里搜
terminal.integrated.env.windows(macOS/Linux 对应.linux或.osx),编辑settings.json:
{
"terminal.integrated.env.windows": {
"PATH": "C:/path/to/node;${env:PATH}",
"NODE_OPTIONS": "--max-old-space-size=8192"
}
}PATH 值里必须保留 ${env:PATH},否则 npm、git 等命令会失效/ 或 \ 都行,但别混用单个 (会转义)调试器 runtimeExecutable 和终端 PATH 是两套逻辑
即使 node -v 在终端里跑通了,launch.json 还是可能报 Cannot find runtime 'node'。这是因为调试器不走终端环境,它只认 runtimeExecutable 或系统 PATH。
- 最稳妥写法:在
launch.json的配置里显式指定runtimeExecutable,比如:"runtimeExecutable": "C:\Program Files\nodejs\node.exe" - 如果用
nvm管理多版本,路径得指向当前激活版本的实际位置(如~/.nvm/versions/node/v20.18.3/bin/node) -
terminal.integrated.env.*不影响调试器,两者互不干扰
真正容易被忽略的是:VSCode 启动方式决定它能不能读到 shell 配置;而 terminal.integrated.env.* 只作用于终端,对调试器、任务、code-runner 插件全无效。想全链路打通,得分别处理这三块——终端、调试器、运行插件,不能指望一个配置解决所有问题。

















