Терминал VScode не видит Node.js (node: команда не найдена)

Установил Node.js - скачал архив для Linux с официального сайта. Распаковал по инструкции и добавил путь в PATH - прописал в profile:

# Nodejs
VERSION=v14.16.0
DISTRO=linux-x64
export PATH=/usr/local/lib/nodejs/node-$VERSION-$DISTRO/bin:$PATH

Выполнил обновление profile:

 ~$ . ~/.profile

Перезагрузил компьютер.

При запуске с основного терминала Linux все работает:

~$ node -v
v14.16.0

~$ npm version
{
  npm: '6.14.11',
  ares: '1.16.1',
  brotli: '1.0.9',
  cldr: '37.0',
  icu: '67.1',
  llhttp: '2.1.3',
  modules: '83',
  napi: '7',
  nghttp2: '1.41.0',
  node: '14.16.0',
  openssl: '1.1.1j',
  tz: '2020a',
  unicode: '13.0',
  uv: '1.40.0',
  v8: '8.4.371.19-node.18',
  zlib: '1.2.11'
}

~$ npx -v
6.14.11

Те же команды в терминале VScode дают такой результат:

sh-5.1$ node -v
sh: node: команда не найдена

System: Kernel: 5.4.0-66-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: Cinnamon 4.8.6 wm: muffin dm: LightDM Distro: Linux Mint 20.1 Ulyssa base: Ubuntu 20.04 focal


Ответы (1 шт):

Автор решения: KoVadim

Вся проблема в том, что используются разные программы эмуляторы терминалов. А они используют разные файлы для настроек. И то, что один терминал "видит", второй - нет.

Определить текущий используемый терминал обычно можно так

echo $SHELL

или любой другой командой в данном терминале (например, можно распечатать через env).

Думаю, самый простой способ - это все таки в vscode использовать тот же терминал, что и в "основной части". Так просто будет легче.

Переключается где то так

  • В VSCode зайти в меню File>Preferences>Settings. или нажать Ctrl+,;
  • Начните печатать terminal.integrated.shell.linux поле поиска;
  • Найдите ключ Terminal > Integrated > Shell:Linux и впишите туда /bin/bash (или возможно /usr/bin/bash). Перезапустите редактор

Должно заработать.

И да, если только нет очень веских причин, устанавливайте софт с официальных репозиториев.

→ Ссылка