Необходимо определиться с версией, которая вам нужна. Я предпочитаю ставить не новейшую версию Node.js, а последнюю LTS.
Установка в Elementary OS, Ubuntu:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
Установка в Debian:
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs
Инструкции под разные системы и для разных версий от разработчиков.
Проверка версий:
nodejs -v
npm -v
Если для проекта вы делаете:
npm install
И вылезает ошибка, вроде:
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/.../node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:311:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.3.0-42-generic
gyp ERR! command "/usr/bin/node" "/home/.../node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/.../node_modules/node-sass
gyp ERR! node -v v12.16.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.10.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.10.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/d1mon/.npm/_logs/2020-03-31T05_52_52_174Z-debug.log
Необходимо удалить каталог node_modules
и файл блокировки package-lock.json
, очистить кэш и пробовать заново:
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
Глобальная установка пакетов
Для глобальной установки пакетов в команду добавляется параметр -g
. Но это не будет работать по умолчанию из-за проблем с правами доступа, поэтому предварительно требуется сделать следующее.
Создадим каталог для глобальных установок:
mkdir ~/.npm-global
Настройка npm на использование нового каталога:
npm config set prefix '~/.npm-global'
В файл ~/.profile
необходимо добавить строку:
export PATH=~/.npm-global/bin:$PATH
В командной строке снова, для применения изменений:
source ~/.profile
На этом все, теперь можно устанавливать пакеты глобально.