Node.js — это среда выполнения JavaScript для программирования на стороне сервера. Она позволяет разработчикам создавать масштабируемый серверный функционал с помощью JavaScript, языка, который многим уже знаком по веб-разработке под браузер.
В этом руководстве мы покажем вам три разных способа установки Node.js на сервер CentOS 8:
dnf
для установки пакета nodejs
из репозитория AppStream, используемого CentOS по умолчаниюnvm
, Node Version Manager, и его использование для установки и управления несколькими версиями node
node
из источникаБольшинству пользователей следует использовать dnf
для установки встроенных и предварительно упакованных версий Node. Если вы разработчик или вам по какой-либо другой причине нужно управлять несколькими установленными версиями Node, используйте nvm
. Сборка из источника редко используется большинством пользователей.
Для выполнения этого обучающего руководства вам потребуется сервер под управлением CentOS 8. Мы будем считать, что вы выполнили вход на этот сервер в качестве non-root user с привилегиями sudo
. Чтобы выполнить настройку сервера, воспользуйтесь нашим руководством по начальной настройке сервера CentOS 8.
Node.js доступен в репозитории программного обеспечения AppStream, который по умолчанию используется в CentOS 8. Существует несколько доступных версий и вы можете выбирать между ними, активируя соответствующий поток модуля. В первую очередь просмотрите список доступных потоков для модуля nodejs
с помощью команды dnf
:
- sudo dnf module list nodejs
OutputName 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 — это поток по умолчанию. Если вы предпочитаете Node.js 12, переключитесь между потоками модуля:
- sudo dnf module enable nodejs:12
Вам будет предложено подтвердить ваше решение. После этого поток версии 12 будет активирован, и мы сможем продолжить установку. Дополнительную информацию о работе с потоками модуля см. в официальной документации для AppStream CentOS.
Установите пакет nodejs
с помощью dnf
:
- sudo dnf install nodejs
dnf
снова предложит вам подтвердить это действие. Для этого нажмите y
, а затем ENTER
, чтобы выполнить установку программного обеспечения.
Проверьте, что установка выполнена успешно, запросив у node
номер версии:
- node --version
Outputv12.13.1
Вывод --version
будет отличаться, если вы установили Node.js 10.
Примечание. Обе доступные версии Node.js — это релизы с долгосрочной поддержкой, т. е. у них гарантировано более длинное окно поддержки. Дополнительную информацию по жизненному циклу см. на официальной странице с информацией о релизах Node.js.
При установке пакета nodejs
должна выполняться установка npm
, утилиты _Node Package Manager_, в качестве зависимости. Проверьте, что она была установлена корректно:
- npm --version
Output6.12.1
К настоящему моменту вы успешно установили Node.js и npm с помощью репозиториев программного обеспечения CentOS. В следующем разделе вы узнаете, как использовать для этого Node Version Manager.
Еще одним способом установки Node.js, который является достаточно гибким, является использование nvm, или Node Version Manager. Это программное обеспечение позволяет устанавливать и поддерживать несколько разных независимых версий Node.js и связанных с ними пакетов Node.
Чтобы установить NVM на ваш сервер CentOS 8, откройте страницу проекта на GitHub. Скопируйте команду curl
из файла README, отображаемого на главной странице. Она позволит получить самую последнюю версию скрипта установки.
Прежде чем передавать команду в bash
, рекомендуется проверить скрипт, чтобы убедиться, что он не делает ничего, с чем вы не согласны. Вы можете сделать это, удалив сегмент | bash
в конце команды curl
:
- 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
для вашей учетной записи. Для его использования необходимо сначала получить ваш файл .bash_profile
:
- source ~/.bash_profile
Теперь вы можете спросить у NVM, какие версии Node доступны:
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, введя любую версию релиза, которую вы видите. Например, для получения версии 13.6.0 воспользуйтесь следующей командой:
- nvm install v13.6.0
Вы можете увидеть установленные вами различные версии с помощью следующей команды:
nvm list
Output-> 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
(или другой номер версии). Вы всегда можете активировать системную версию Node с помощью nvm use system
.
Также вы увидите псевдонимы для различных релизов Node с длительной поддержкой (LTS):
Outputlts/* -> 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
OutputDownloading 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
Outputv13.6.0
Корректная версия Node установлена на нашем компьютере, как мы и ожидали. Совместимая версия npm
также доступна.
Еще одним способом установки Node.js является загрузка исходного кода и его компиляция.
Воспользуйтесь вашим браузером и перейдите на официальную страницу загрузки Node.js, нажмите правой кнопкой на ссылке Исходный код и нажмите Скопировать адрес ссылки или похожий вариант в зависимости от браузера.
Вернитесь к вашему сеансу SSH, убедившись, что вы находитесь в директории, для которой у вас есть права на запись. Мы будем использовать домашнюю директорию текущего пользователя:
- cd ~
Затем введите curl
, вставьте ссылку, скопированную вами с сайта, и добавьте в конце | tar xz
:
- 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
Вам будет предложено подтвердить установку. Введите y
, а затем ENTER
, чтобы сделать это. Теперь мы можем настроить и скомпилировать программное обеспечение:
- ./configure
- make -j4
Компиляция может занимать определенное время (около 30 минут для четырехъядерного сервера). Мы использовали опцию -j4
для запуска четырех параллельных процессов компиляции. Вы можете пропустить эту опцию или обновить число исходя из количества доступных ядер процессора.
После завершения компиляции вы можете установить программное обеспечение в вашей системе с помощью следующей команды:
- sudo make install
Чтобы проверить, что установка выполнена успешно, попросите Node отобразить номер версии:
- node --version
v12.16.1
Если вы увидите правильный номер версии, установка была выполнена успешно. По умолчанию Node также устанавливает совместимую версию npm
, поэтому она также должна быть доступна.
В этом обучающем руководстве мы продемонстрировали, как установить Node.js с помощью репозитория программного обеспечения CentOS AppStream, с помощью Node Version Manager и компиляции исходного кода.
Если вы хотите получить дополнительную информацию о программировании на JavaScript, воспользуйтесь нашей серией обучающих материалов:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!