Site icon 8HOST.COM

Установка Node.js на сервер CentOS 7

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

В данном руководстве речь пойдет о различных способах установки Node.js на сервер CentOS 7, включая установку при помощи NVM и из репозитория EPEL.

Установка Node из исходного кода

Итак, первый способ установки – компилирование Node.js из исходного кода.

Для этого нужно загрузить код с веб-сайта проекта. На странице загрузки щелкните правой кнопкой по ссылке Source Code и нажмите Copy link address (или похожую клавишу, предложенную браузером).

Затем используйте wget и вставьте ссылку, чтоб загрузить архив:

wget http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz

Распакуйте архив и перейдите в новый каталог, введя:

tar xzvf node-v* && cd node-v*

Для компиляции кода необходимо скачать из репозиториев CentOS несколько пакетов. Для этого используйте yum:

sudo yum install gcc gcc-c++

Теперь можно настроить и скомпилировать программу.

./configure
make

Компиляция займет довольно много времени. Когда она закончится, приступайте к установке программного обеспечения, набрав:

sudo make install

Для проверки установки можно попросить Node отобразить номер версии:

node --version
v0.10.30

Если номер версии был выведен, значит, установка прошла успешно.

Установка Node.js с сайта проекта

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

Найти бинарные пакеты Linux можно здесь. Поскольку CentOS 7 имеет только 64-битную архитектуру, щелкните правой кнопкой мыши по ссылке Linux Binaries (.tar.gz) с пометкой 64-bit. Выберите «Copy link address» (или аналогичный вариант, предоставленный браузером).

Теперь перейдите в домашний каталог сервера и используйте утилиту wget, чтобы загрузить файлы. Вставьте только что скопированный URL в качестве аргумента команды:

cd ~
wget http://nodejs.org/dist/v0.10.30/node-v0.10.30-linux-x64.tar.gz

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

Теперь нужно извлечь бинарный пакет в иерархию пакетов системы с помощью команды tar. Архив упаковано в пределах версированного каталога, от которого можно избавиться при помощи опции –strip-components 1. Кроме того, чтобы указать целевой каталог, нужно использовать флаг –C.

sudo tar --strip-components 1 -xzvf node-v* -C /usr/local

Данная команда установит все компоненты в ветку системы /usr/local. Чтобы убедиться, что установка прошла успешно, запросите номер версии Node:

node --version
v0.10.30

Установка Node из репозитория EPEL

Альтернативный метод установки Node.js заключается в использовании репозитория EPEL (Extra Packages for Enterprise Linux), доступного для CentOS и смежных дистрибутивов.

Чтобы получить доступ к репозиторию EPEL, нужно изменить репо-лист установки. На момент написания этой статьи EPEL для CentOS 7 еще находится в бета-версии. Чтобы настроить доступ к репозиторию, наберите:

sudo rpm -i http://download.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

Ссылка выше, скорее всего, изменится после того, как репозиторий изменит статус (выйдет из бета-версии). Если ссылка изменилась, найти пакеты в новой версии репозитория можно с помощь ссылки «newest version of ‘epel-release’ for EL7» на этой странице. Используйте команду rpm, чтобы получить последний пакет для EL7.

Команда rpm настраивает доступ к хранилищу EPEL. Теперь можно установить Node.js при помощи уже знакомой команды yum.

sudo yum install nodejs

Опять же, можно проверить, успешно ли прошла установка, запросив номер версии Node:

node --version
v0.10.30

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

sudo yum install npm

Установка Node с помощью Node Version Manager (NVM)

Еще один достаточно гибкий способ установить Node.js – использовать NVM, или Node version manager. Данная программа позволяет одновременно устанавливать и поддерживать различные независимые версии Node.js, а также связанные с ними пакеты Node.

Для установки NVM на CentOS 7 нужно посетить страницу проекта на GitHub. Скопируйте команду curl или wget из файла README, который отображается на главной странице. Здесь также  можно найти последнюю версию скрипта установки.

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

curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh

Просмотрите действия скрипта и убедитесь, что никаких лишних задач он не выполнит. После этого можно опять добавить | bash в команду. Адрес, указанный в команде, будет меняться в зависимости от последней версии NVM; на данный момент, скрипт может быть загружен и выполнен при помощи:

curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash

Это установит на сервер скрипт nvm. Чтобы использовать данный скрипт. Выполните команду:

source ~/.bash_profile

Теперь можно спросить у NVM известные ему версии Node:

nvm list-remote
. . .
v0.10.29
v0.10.30
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.11.6
v0.11.7
v0.11.8
v0.11.9
v0.11.10
v0.11.11
v0.11.12
v0.11.13

Чтобы установить нужную версию Node, используйте номер доступного релиза. К примеру, чтобы установить версию 0.10.30, нужно ввести:

nvm install v0.10.30

Чтобы просмотреть уже установленные версии, введите:

nvm list
->  v0.10.30
system

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

nvm use v0.10.30
Now using node v0.10.30

Чтобы сделать какую-либо версию версией по умолчанию, наберите:

nvm alias default v0.10.30
default -> v0.10.30

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

node --version
v0.10.30

Итоги

Как видите, существует достаточно много способов установки Node.js на сервер CentOS 7. Это очень удобно, поскольку в случае, если какой-то из способов не сработал, всегда можно попробовать другой подход.