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
中指定runtimeExecutable
或runtimeVersion
(我不想这样做)。
无奈之下,我尝试删除 /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 脚本启动)
有没有办法在用 Vite 启动的 VsCode 中调试代码?
错误记录Ubuntu 下 VSCode 编译报错 ( 无法生成和调试,因为活动文件不是 C 或 C++ 源文件。终端进程启动失败(退出代码: -1)。终端将被任务重用,按任意键关闭。 )