问题描述
我知道关于Visual Studio Code使用的nodejs版本有很多问题,但是没有一个有帮助,而且我注意到一个非常特殊的差异:
如果我在vscode中运行终端,我会看到新版本的node:
但是,一旦启动调试器( F5 ),它就会调用节点的 old 版本:
我已经检查过,并且不在我的runtimeExecutable
中指定runtimeVersion
或launch.json
(但我不想这么做)。
无奈之下,我尝试删除/opt/node-v8.12.0-*
,然后 F5 导致错误:在PATH上找不到运行时'节点'-但显然可以在终端中!
那么vscode怎么可能找到两个不同版本的nodejs?
解决方法
啊哈!在两次尝试之间我关闭自己的VSCode窗口时,我没有关闭系统上的每个VSCode窗口(即使在多个工作区中)。
大概是VSCode(我在Linux上使用的是1.40.2)会在首次启动时检测到节点的位置/版本,除非您关闭了所有vscode实例(关闭所有窗口,或更严重的是killall code
。)
那是我永远不会回来的一个小时,希望这对其他人有帮助。 :)