VSCode:终端使用与启动/调试器不同的nodejs版本

Posted

技术标签:

【中文标题】VSCode:终端使用与启动/调试器不同的nodejs版本【英文标题】:VSCode: terminal uses different nodejs version than launch / debugger 【发布时间】:2020-12-10 05:36:01 【问题描述】:

我知道有很多关于 Visual Studio Code 使用的 nodejs 版本的问题,但没有一个有帮助,我注意到一个非常奇怪的差异:

如果我在 vscode 中运行终端,我会看到新版本的节点:

但只要我启动调试器 (F5),它就会调用一个 old 版本的节点:

我已经检查过了,我没有在我的launch.json 中指定runtimeExecutableruntimeVersion(我不想这样做)。

无奈之下,我尝试删除 /opt/node-v8.12.0-*,然后 F5 导致错误:Cannot find runtime 'node' on PATH -- 但显然它可以在终端!

那么vscode怎么可能找到两个不同版本的nodejs呢?

【问题讨论】:

【参考方案1】:

啊哈!虽然我在尝试之间关闭了我的 VSCode 窗口,但我并没有关闭我系统上的每个 VSCode 窗口(即使在多个工作区上也是如此。)

大概 VSCode(我在 Linux 上使用 1.40.2)在初始启动时检测到节点的位置/版本,并且它不会检测到节点的新安装,除非您关闭所有 vscode 实例(关闭所有窗口,或者更严重的是,killall code。)

那是我永远不会回来的一个小时,希望这对其他人有所帮助。 :)

【讨论】:

以上是关于VSCode:终端使用与启动/调试器不同的nodejs版本的主要内容,如果未能解决你的问题,请参考以下文章

VSCode Node.js 调试配置 (npm 脚本启动)

VSCode:调试开始时清除集成终端

VSCode 上的 pwa-node 类型启动配置是啥?

有没有办法在用 Vite 启动的 VsCode 中调试代码?

vscode入门教程之页面启动与代码调试

错误记录Ubuntu 下 VSCode 编译报错 ( 无法生成和调试,因为活动文件不是 C 或 C++ 源文件。终端进程启动失败(退出代码: -1)。终端将被任务重用,按任意键关闭。 )