Установка Node.js в CentOS 8

Node.js – это платформа JavaScript для программирования. Она позволяет быстро разрабатывать масштабируемые приложения на языке JavaScript, с которым знакомы многие разработчики

Данный мануал поможет установить платформу Node.js и подготовить ее к работе на сервере CentOS 8. Вы узнаете:

  • Как установить Node.js из стандартного репозитория AppStream с помощью dnf;
  • Как установить NVM (Node Version Manager), а затем установить Node.js с помощью этого инструмента.
  • Как собрать и установить node из исходного кода.

В большинстве случаев рекомендуем устанавливать предварительно собранные версии Node.js с помощью менеджера dnf. Если в вашей разработке нужно иметь возможность управлять несколькими версиями Node.js, используйте установку через nvm. Сборка платфирмы из исходного кода – самый редкий способ установки Node.js.

Требования

Для работы вам нужен сервер CentOS 8, настроенный согласно этому мануалу. Обязательно создайте пользователя sudo и настройте брандмауэр.

Установка Node.js из репозитория AppStream

CentOS 8 содержит версию Node.js в своём стандартном репозитории AppStream. В нем доступно множество версий; чтобы установить необходимую версию, вам нужно выбрать соответствующий стрим. Для начала запросите список доступных стримов:

sudo dnf module list nodejs
Name                     Stream                   Profiles                                                Summary
nodejs                   10 [d]                   common [d], development, minimal, s2i                   Javascript runtime
nodejs                   12                       common, development, minimal, s2i                       Javascript runtime

Как видите, доступно два стрима, 10 и 12. [d] указывает на дефолтную версию (в данном случае это версия 10). Если вы хотите установить версию 12, вы должны переключить стрим:

sudo dnf module enable nodejs:12

Вам будет предложено подтвердить свое решение, после чего версия 12 будет активирована, а вы сможете продолжить установку. Больше информации о репозитории AppStream вы найдете в официальной документации CentOS.

Установите пакет nodejs с помощью dnf:

sudo dnf install nodejs

Менеджер dnf предложит вам подтвердить действия. Нажмите y и Enter, после чего пакет будет установлен.

Убедитесь, что установка прошла успешно. Запросите для этого версию установленного пакета:

node --version
v12.13.1

Если вы установили версию 10, ваш вывод будет отличаться.

Примечание: Обе доступные версии Node.js – это релизы долгосрочной поддержки, а это означает, что они имеют более длительный гарантированный период обслуживания. См. официальную страницу релизов Node.js для получения дополнительной информации о жизненном цикле этих пакетов.

При установке пакета nodejs в качестве зависимости также должна установиться утилита Node Package Manager, npm. Убедитесь, что она установлена правильно:

npm --version
6.12.1

Итак, вы успешно установили Node.js и npm из программного репозитория CentOS. В следующем разделе мы попробуем выполнить установку с помощью Node Version Manager.

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

Также Node.js можно установить с помощью менеджера версий nvm. Он позволяет установить несколько полноценных версий Node.js на один сервер. Вместо работы на уровне операционной системы nvm работает на уровне независимого каталога в домашнем каталоге вашего пользователя. Это значит, что вы можете установить несколько автономных версий Node.js, не затрагивая всю систему, и выбирать наиболее подходящую для каждого приложения версию.

Загрузите сценарий установки nvm с GitHub. Скопируйте команду curl из файла README на главной странице. Так вы получите самую свежую версию установочного скрипта.

Прежде чем передать команду в bash, рекомендуем вам проверить содержимое сценария и убедиться, что он не делает ничего лишнего. Для этого удалите часть команды | bash.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh

Проверьте сценарий и убедитесь, что согласны со всеми его действиями. Затем запустите полную версию команды, с | bash. Используемый в команде URL может отличаться в зависимости от последней версии NVM.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

Эта команда установит скрипт nvm в учетную запись вашего пользователя. Чтобы использовать эту утилиту в текущей сессии, введите команду:

source ~/.bash_profile

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

nvm list-remote
. . .
v12.13.0   (LTS: Erbium)
v12.13.1   (LTS: Erbium)
v12.14.0   (LTS: Erbium)
v12.14.1   (LTS: Erbium)
v12.15.0   (LTS: Erbium)
v12.16.0   (LTS: Erbium)
v12.16.1   (Latest LTS: Erbium)
v13.0.0
v13.0.1
v13.1.0
v13.2.0
v13.3.0
v13.4.0
v13.5.0
v13.6.0
v13.7.0
v13.8.0
v13.9.0
v13.10.0
v13.10.1
v13.11.0
v13.12.0

Довольно большой список. Вы можете установить любую версию Node, указав номер релиза. Например, чтобы установить v13.6.0, введите:

nvm install v13.6.0

Введите эту команду, чтобы убедиться, что у вас появилась новая версия:

nvm list
->      v13.6.0
default -> v13.6.0
node -> stable (-> v13.6.0) (default)
stable -> 13.6 (-> v13.6.0) (default)

В первой строке вы увидите текущую активную версию (->      v13.6.0).

Примечание: Если вы также установили Node из репозитория CentOS, как показано в предыдущем разделе, в выводе вы также можете увидеть строку system -> v12.13.1 (номер версии может отличаться). Чтобы активировать версию, используйте команду:

nvm use system

также вы можете просмотреть алиасы различных релизов долгосрочной поддержки Node:

lts/* -> lts/erbium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.19.0 (-> N/A)
lts/erbium -> v12.16.1 (-> N/A)

Вы также можете установить нужную версию по алиасу. К примеру, чтобы установить последнюю версию долгосрочной поддержки, erbium, вы должны ввести:

nvm install lts/erbium
Downloading and installing node v12.16.1...
. . .
Now using node v12.16.1 (npm v6.13.4)

Вы можете переключаться между версиями при помощи команды nvm use:

nvm use v13.6.0
Now using node v13.6.0 (npm v6.13.4)

Чтобы убедиться, что установка прошла успешно, запросите версию программы:

node --version
v13.6.0

Сборка Node.js из исходного кода

Еще один способ установить Node.js – это загрузить исходный код и самостоятельно его скомпилировать.

Для этого откройте в браузере эту страницу сайта Node.js, кликните правой кнопкой мыши на ссылку Source Code и выберите Copy Link Address или другую подобную опцию, которую предложит ваш браузер.

Вернитесь в свою сессию SSH и перейдите в каталог, на изменение которого у вас есть право. Например, это домашний каталог текущего пользователя:

cd ~

Введите curl и вставьте скопированную ссылку, а затем добавьте | tar xz, чтобы передать результаты команде tar.

curl https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz | tar xz

Команда curl загрузит исходный код, а команда tar распакует полученный архив в текущий каталог.

Перейдите в новый каталог:

cd node-v*

Теперь нам нужно загрузить несколько пакетов из репозиториев CentOS, чтобы скомпилировать код. Сделайте это с помощью dnf:

sudo dnf install gcc-c++ make python2

Вам будет предложено подтвердить установку. Нажмите у и Enter, чтобы продолжить. Теперь можно настроить и скомпилировать программу:

./configure
make -j4

Компиляция займет довольно много времени (около 30 минут на 4-ядерном сервере). Опция -j4 запускает 4 параллельных процесса компиляции. Вы можете опустить эту опцию или же изменить в ней количество процессоров.

Когда компиляция будет завершена, вы сможете установить программу в свою систему:

sudo make install

Чтобы убедиться, что установка прошла успешно, запросите версию:

node --version
v12.16.1

Если вы видите правильный номер версии, значит, программа была установлена успешно. По умолчанию Node также устанавливает совместимую версию npm, она теперь тоже доступна на вашем сервере.

Заключение

Как видите, существует несколько способов установки Node.js на сервер CentOS, и у каждого из них есть свои преимущества. Метод установки Node зависит от требований и целей создаваемого вами приложения, однако nvm – в любом случае самый гибкий из них.

Читайте также:

Tags: , , , ,

Добавить комментарий