Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Как установить Node.js в Ubuntu 20.04

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
01 июня 2022 г.
6558
8 минут чтения
Средний рейтинг статьи: 3.5

New Documentation

Node.js — это среда для выполнения JavaScript-кода. С помощью Node.js программисты могут писать серверную часть на JS и даже создавать полноценные десктопные программы.

В основе node.js лежит движок V8, разработанный в Google и используемый в браузере Chrome. Он компилирует джава скрипт в машинный код, понятный процессору. Однако одного движка недостаточно — на стороне сервера нужно уметь работать с файлами, сетью и т.д. Поэтому разработчики node.js с помощью собственного кода и дополнительных библиотек добавили эти и другие возможности к V8. В итоге получился инструмент, превращающий JS в язык общего назначения.

Как Установить Node.js В Ubuntu 20.04 (1)

Node.js снискала огромную популярность у разработчиков по ряду причин:

  • С её помощью серверную и клиентскую часть можно писать на одном языке.
  • Скорость, достигаемая благодаря однопоточности, асинхронности и неблокирующему IO. Следующую задачу можно начать выполнять без ожидания окончания предыдущей.
  • NPM (Node Package Manager). Пакетный менеджер помогает разработчикам легко делиться инструментами и модулями, а также управлять их зависимостями.

В этой статье мы рассмотрим несколько способов установки node.js. В качестве тестовой машины будем использовать сервер с установленной Ubuntu 20.04, на которой настроен пользователь с правами администратора. Арендовать собственный сервер для экспериментов с Node.js можно в Timeweb Cloud.

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать. 

Удаление старых версий 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 хранится стабильная, но не самая свежая версия. Для знакомства с нодой подойдет, но в проде использовать данный способ не рекомендуется. 

Обновим на машине информацию о сконфигурированных репозиториях:

sudo apt update

Далее ставим Node.js при помощи команды apt install nodejs. Флаг -y автоматически ответит “yes” на задаваемые программой вопросы:

sudo apt install nodejs -y

Этого достаточно для того, чтобы начать создавать собственные программы на Node.js. В дальнейшем для скачивания дополнительных модулей потребуется npm. Команда в пакетном менеджере Ubuntu — install npm:

sudo apt install npm -y

Вывести версию программ для проверки корректности установки:

node -v && npm -v

Вывод:

v10.19.0
6.14.4

Установка из официального репозитория (PPA)

Самые новые пакеты ноды содержаться в репозитории NodeSource. Установка через PPA является рекомендуемым способом в проде.

Информацию о данном способе можно найти в официальной документации. Для большинства популярных дистрибутивов, в том числе и для Ubuntu, имеется специальный скрипт, который автоматически все настроит. Если вы не фанат curl <url> | bash - , или используете неподдерживаемый дистрибутив, то поставить можно и вручную.

Воспользуемся скриптом. Выведем его в терминал и удостоверимся в его безопасности:

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 -v && npm -v

Вывод:

v18.2.0
8.9.0

Как видите, сейчас установились более свежие пакеты. Также вместе с Node.js поставился и npm.

Установка с помощью NVM

NVM — утилита для установки и управления несколькими версиями Node.js. Она позволяет сменить версию одной командой. Установка с помощью nvm рекомендуется разработчикам, желающих поставить node.js локально на своей машине.

Всю нужную информацию об установке можно найти здесь.

sudo apt update && sudo apt install build-essential libssl-dev -y

NVM ставится посредством установочного скрипта Для скачивания и выполнения используем curl/wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Перед отправкой в оболочку не лишним будет посмотреть содержимое скрипта. После выполнения нам скажут перезапустить терминал, однако мы можем перенастроить окружение в текущей оболочке.

source ~/.bashrc

В других дистрибутивах/других оболочках имя файла может отличаться.

Проверим доступные версии Node.js:

nvm list-remote
v0.1.14
v0.1.15
v0.1.16
v0.1.17
v0.1.18
v0.1.19

Вы увидите список релизов, начинающийся с 2010 года. Для примера поставим v14.19.3:

nvm install 14.19.3

Видим, что установка npm происходит вместе с Node.js. Выведем список установленных версий:

nvm list

Вывод:

      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-релиза можно воспользоваться алиасом:

nvm install lts/carbon

Менять версии можно следующим образом:

nvm use v14.19.3

Вывод:

Now using node v14.19.3 (npm v6.14.17)

Проверяем:

node -v && npm -v

Вывод:

v14.19.3
6.14.17

Теперь попробуем удалить v14.x. Для этого деактивируем её:

nvm deactivate 14.19.3

Вывод:

/home/username/.nvm/*/bin removed from ${PATH}

Удаление:

nvm uninstall 14.19.3 

Вывод:

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

Проверяем:

node -v && npm -v

Вывод:

v15.14.0
7.7.6

Сборка из исходных кодов

Всю информацию по сборке можно найти на странице проекта на GitHub. Внешних зависимостей практически нет. Для сборки на Ubuntu могут потребоваться следующие пакеты: 

  • gcc и g++
  • make
  • python3

Установим их:

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:

sudo make install

Тестирование

Итак, мы рассмотрели несколько способов установки Node.js. Допустим, вы выбрали один из методов и установили что нужно. Для того чтобы убедиться в том, что все работает, вывести версию недостаточно. Попробуем создать примитивное приложение и удостовериться в корректности работы. 

Создайте текстовый файл любым удобным для вас редактором:

vim test.js

Попробуем вывести строку в консоль. Для этого пишем:

console.log('Timeweb Cloud')

Сохраняем файл. Теперь попробуем запустить программу:

node test.js

Вывод:

Timeweb Cloud

Заключение

Сегодня Node.js по праву считается одной из лидирующих технологий для веб-разработки. Множество крупных компаний, таких как PayPal, Yahoo, Ebay, General Electric, Microsoft и Uber, используют эту платформу для построения собственных веб-сайтов.

Установить Node.js можно разными способами. То, какой метод выбрать, зависит от ваших целей. Для новичков подойдет версия из репозитория дистрибутива. Более новые версии можно получить из PPA от NodeSource. Программа NVM поможет установить сразу несколько версий и удобно управлять ими. А в нестандартных ситуациях Node.js можно установить из архива с бинарниками или собрать ее исходных кодов. 

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону