Node.js — это среда для выполнения JavaScript-кода. С помощью Node.js программисты могут писать серверную часть на JS и даже создавать полноценные десктопные программы.
В основе node.js лежит движок V8, разработанный в Google и используемый в браузере Chrome. Он компилирует джава скрипт в машинный код, понятный процессору. Однако одного движка недостаточно — на стороне сервера нужно уметь работать с файлами, сетью и т.д. Поэтому разработчики node.js с помощью собственного кода и дополнительных библиотек добавили эти и другие возможности к V8. В итоге получился инструмент, превращающий JS в язык общего назначения.
Node.js снискала огромную популярность у разработчиков по ряду причин:
В этой статье мы рассмотрим несколько способов установки node.js. В качестве тестовой машины будем использовать сервер с установленной Ubuntu 20.04, на которой настроен пользователь с правами администратора. Арендовать собственный сервер для экспериментов с Node.js можно в Timeweb Cloud.
Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.
Перед инсталляцией 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
Способ для новичков и тех, кто не хочет заморачиваться. В репозитории 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
cloud
Самые новые пакеты ноды содержаться в репозитории 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 — утилита для установки и управления несколькими версиями 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 могут потребоваться следующие пакеты:
Установим их:
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 можно установить из архива с бинарниками или собрать ее исходных кодов.