Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Удаление старых версий Node.js
Перед инсталляцией**** Node.js на Ubuntu следует проверить наличие старых версий программы. Дело в том, что если оставить старые программы, то некоторые действия будут выполняться через них. Это может вызывать трудноотслеживаемые конфликты.
Проверим систему на наличие установленной Node.js. Для этого выведем список всех установленных пакетов и отфильтруем вывод:
dpkg -l | awk '{print $2}' | grep node
libnode64:amd64
nodejs
nodejs-docКак видим, пакеты имеются. Удалим пакет nodejs вместе с конфигурационными файлами, а также пакеты, оставшиеся как зависимости:
sudo apt-get purge nodejs -y && sudo apt autoremove -yСмотрим, остались ли пакеты:
dpkg -l | awk '{print $2}' | grep nodeУстановка с помощью apt через репозитории Ubuntu
Способ для новичков и тех, кто не хочет заморачиваться. В репозитории Ubuntu хранится стабильная, но не самая свежая версия. Для знакомства с нодой подойдет, но в проде использовать данный способ не рекомендуется.
Обновим на машине информацию о сконфигурированных репозиториях:
Далее ставим Node.js при помощи команды apt install nodejs. Флаг -y автоматически ответит “yes” на задаваемые программой вопросы:
sudo apt install nodejs -yЭтого достаточно для того, чтобы начать создавать собственные программы на Node.js. В дальнейшем для скачивания дополнительных модулей потребуется npm. Команда в пакетном менеджере Ubuntu — install npm:
Вывести версию программ для проверки корректности установки:
Установка из официального репозитория (PPA)
Самые новые пакеты ноды содержаться в репозитории NodeSource. Установка через PPA является рекомендуемым способом в проде.
Информацию о данном способе можно найти в официальной документации. Для большинства популярных дистрибутивов, в том числе и для Ubuntu, имеется специальный скрипт, который автоматически все настроит. Если вы не фанат curl
Воспользуемся скриптом. Выведем его в терминал и удостоверимся в его безопасности:
curl -fsSL https://deb.nodesource.com/setup_18.xВместо 18.x можно указать номер нужной версии. Сейчас в репозитории содержаться v18 (current), v17, v16 (LTS), v14.
После проверки передадим скрипт в оболочку:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -После настройки, скрипт порекомендует поставить некоторые пакеты:
sudo apt install nodejs gcc g++ make -yСмотрим, все ли установилось:
Как видите, сейчас установились более свежие пакеты. Также вместе с Node.js поставился и npm.
NVM — утилита для установки и управления несколькими версиями Node.js. Она позволяет сменить версию одной командой. Установка с помощью nvm рекомендуется разработчикам, желающих поставить node.js локально на своей машине.
Всю нужную информацию об установке можно найти здесь.
sudo apt update && sudo apt install build-essential libssl-dev -yNVM ставится посредством установочного скрипта Для скачивания и выполнения используем curl/wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashПеред отправкой в оболочку не лишним будет посмотреть содержимое скрипта. После выполнения нам скажут перезапустить терминал, однако мы можем перенастроить окружение в текущей оболочке.
В других дистрибутивах/других оболочках имя файла может отличаться.
Проверим доступные версии Node.js:
v0.1.14
v0.1.15
v0.1.16
v0.1.17
v0.1.18
v0.1.19Вы увидите список релизов, начинающийся с 2010 года. Для примера поставим v14.19.3:
Видим, что установка npm происходит вместе с Node.js. Выведем список установленных версий:
v14.19.3
-> v16.1.0
system
…Команда выводит установленные версии и их алиасы, символы -> указывают на активную. Запись system означает nodejs, установленный с помощью apt. Внизу списка находятся алиасы разных LTS-релизов node.js:
…
lts/fermium -> v14.19.3
lts/gallium -> v16.15.0 (-> N/A)
…Что такое LTS? Если зайти на сайт Node.js, вам предложат скачать две версии: LTS и сurrent. Node.js растет и развивается быстро, поэтому было решено сосредоточиться на двух разных линиях выпуска. Long Term Support — стабильная протестированная версия c длительным сроком поддержки. Current опережает LTS по функционалу, но может содержать больше ошибок.
Для установки LTS-релиза можно воспользоваться алиасом:
Менять версии можно следующим образом:
Now using node v14.19.3 (npm v6.14.17)Теперь попробуем удалить v14.x. Для этого деактивируем её:
/home/username/.nvm/*/bin removed from ${PATH}
Uninstalled node v14.19.3Благодаря гибкому управлению, NVM позволяет легко обновить Node.js на Ubuntu.
Нестандартные способы установки
Иногда возникают нестандартные ситуации, при которых предыдущие методы могут не подойти. Например, инсталляция во встроенную системы без внешнего доступа и т.д. В таком случае ноду можно поставить из архива или собрать из исходников. Нижеуказанные способы рекомендуются, если вы опытный юзер, так как в дальнейшем могут возникнуть проблемы с зависимостями и обновлениями.
Переходим на официальный сайт Node.js и скачиваем архив с нужной версией под нашу архитектуру:
wget https://nodejs.org/dist/latest-v15.x/node-v15.14.0-linux-x64.tar.gzТак как скачался сжатый архив, то потребуется установка tar (включен по умолчанию практически во все дистрибутивы). Распаковывать архив будем в /usr/local, поэтому при распаковке нужно убрать лидирующую директорию в названии файлов. Делается это с помощью ключа --strip-components 1:
sudo tar -C /usr/local --strip-components 1 -xf node-v15.14.0-linux-x64.tar.gzВсю информацию по сборке можно найти на странице проекта на GitHub. Внешних зависимостей практически нет. Для сборки на Ubuntu могут потребоваться следующие пакеты:
sudo apt install python3 g++ make python3-pipТеперь скачиваем и распаковываем архив:
wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz
sudo tar -tvf node-v16.15.0.tar.gz
cd node-v16.15.0.tar.gzЗапускаем конфигурационный скрипт сборку. Ключ -j4 заставляет make запустить 4 одновременных задач, что позволит сократить время сборки:
sudo ./configure
sudo make -j4Итак, мы рассмотрели несколько способов установки Node.js. Допустим, вы выбрали один из методов и установили что нужно. Для того чтобы убедиться в том, что все работает, вывести версию недостаточно. Попробуем создать примитивное приложение и удостовериться в корректности работы.
Создайте текстовый файл любым удобным для вас редактором:
Попробуем вывести строку в консоль. Для этого пишем:
console.log('Simple-Server')Сохраняем файл. Теперь попробуем запустить программу:
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.