VSCode: терминал использует версию nodejs, отличную от launch / debugger

#node.js #visual-studio-code #version #environment

#node.js #visual-studio-code #версия #Окружающая среда

Вопрос:

Я знаю, что есть различные вопросы о версии nodejs, используемой Visual Studio Code, но ни один из них не помог, и я заметил очень своеобразное несоответствие:

Если я запускаю терминал внутри vscode, я вижу новую версию node:

Версия узла, показанная в терминале

Но как только я запускаю отладчик (F5), он вызывает старую версию node:

Запущена версия узла

Я уже проверил, и я не указываю runtimeExecutable or runtimeVersion в своем launch.json (и я предпочитаю этого не делать).

В отчаянии я попытался удалить, /opt/node-v8.12.0-* а затем F5 выдал ошибку: не удается найти ‘node’ среды выполнения в PATH — но, очевидно, это возможно в терминале!

Итак, как это возможно, что vscode находит две разные версии nodejs?

Комментарии:

1. попробуйте nvm use 12.18

Ответ №1:

Ага! Пока я закрывал свое окно VSCode между попытками, я не закрывал каждое окно VSCode в своей системе (даже в нескольких рабочих пространствах.)

Предположительно, VSCode (я использую 1.40.2 в Linux) определяет местоположение / версию узла при первоначальном запуске и не обнаруживает новые установки узла, если вы не выключите все экземпляры vscode (закройте все окна или, что более строго, killall code .)

Через час я никогда не вернусь, надеюсь, это поможет кому-то еще. 🙂