Установка Node.js в Debian 9

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

Данный мануал поможет установить Node.js и подготовить программу к работе на сервере Debian 9.

Требования

Для работы вам нужен сервер Debian 9, настроенный согласно этому мануалу.

Установка стабильной версии Node.js

Debian предоставляет версию Node.js в своём стандартном репозитории (на момент написания статьи это версия 4.8.2).

Если вы хотите поэкспериментировать, используя стабильную версию, установка из репозиториев может иметь смысл. Однако для разработки и производства рекомендуется использовать более свежую версию, которую можно установить из архива PPA.

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

sudo apt update

Затем установите пакет Node.js:

sudo apt install nodejs

Если устаревший пакет из репозитория устраивает вас, вы можете просто приступать к работе.

Чтобы проверить версию этого пакета, введите:

nodejs -v

Примечание: Из-за конфликта с другим пакетом исполняемый файл из репозиториев Debian называется nodejs, а не node.

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

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

С помощью архива PPA, поддерживаемого NodeSource, можно получить более свежую версию Node.js. В таком случае можно выбрать между Node.js v4.x (долгосрочная поддержка, действительна до апреля 2019), Node.js v6.x (поддерживается до апреля 2019 года), v8.x (текущая LTS версия, поддерживаемая до декабря 2019) и v10.x (последняя версия с поддержкой до апреля 2021).

Обновите индекс пакетов и установите утилиту curl, с помощью которой можно получить доступ к содержимому PPA:

sudo apt update
sudo apt install curl

Установите PPA в домашний каталог. Используйте curl, чтобы извлечь установочный скрипт необходимой версии (укажите её вместо 10.x ):

cd ~
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh

Проверьте содержимое сценария:

nano nodesource_setup.sh

Чтобы запустить скрипт, используйте sudo:

sudo bash nodesource_setup.sh

Архив PPA будет добавлен в настройки. Индекс пакетов обновится автоматически. После запуска установочного сценария nodesource можно установить пакет Node.js:

sudo apt install nodejs

Запросите версию установки:

nodejs -v
v10.9.0

Пакет nodejs содержит бинарный файл nodejs и npm (потому вам не придётся устанавливать npm отдельно).

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

npm -v
6.2.0

Для работы некоторых компонентов npm (компилирующих исходный код и т.п.) необходим пакет build-essential:

sudo apt install build-essential

Установка Node.js при помощи nvm

Также Node.js можно установить при помощи менеджера версий nvm.

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

Управляя средой с помощью nvm, вы можете обращаться к новейшим версиям Node.js и при этом продолжать использовать предыдущие версии. Однако эта утилита не взаимодействует с apt, а к версиям Node.js, которыми можно управлять с ее помощью, не относятся версии Node.js из репозиториев Ubuntu.

Загрузите сценарий установки nvm с GitHub. Номер версии может отличаться от номера, указанного в команде.

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh

Проверьте содержимое сценария:

nano install_nvm.sh

Запустите его:

bash install_nvm.sh

Эта команда установит программу в домашний каталог  (~/.nvm), а затем добавит необходимые строки в файл ~/.profile.

Чтобы получить доступ к nvm, нужно выйти и снова войти в систему. Также можно использовать команду:

source ~/.profile

Теперь менеджер nvm установлен, и можно приступать к установке изолированных друг от друга версий Node.js.

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

nvm ls-remote
...
v8.11.1   (Latest LTS: Carbon)
v9.0.0
v9.1.0
v9.2.0
v9.2.1
v9.3.0
v9.4.0
v9.5.0
v9.6.0
v9.6.1
v9.7.0
v9.7.1
v9.8.0
v9.9.0
v9.10.0
v9.10.1
v9.11.0
v9.11.1
v10.0.0
v10.1.0
v10.2.0
v10.2.1
v10.3.0
v10.4.0
v10.4.1
v10.5.0
v10.6.0
v10.7.0
v10.8.0
v10.9.0

Как видите, на момент написания статьи последней доступной LTS версией является v8.11.1. Чтобы установить её, введите:

nvm install 8.11.1

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

nvm use 8.11.1

При установке Node.js с помощью nvm исполняемый файл называется node. Чтобы узнать, какая версия Node.js используется на данный момент, введите:

node -v
v8.11.1

Если вы установили несколько версий Node.js, можно просмотреть их список:

nvm ls

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

nvm alias default 8.11.1

Эта версия будет автоматически запускаться в новой сессии.

Можно также сослаться на версию по алиасу:

nvm use default

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

С помощью менеджера npm можно устанавливать модули Node.js в каталог ./node_modules. Например:

npm install express

Чтобы установить модуль глобально (чтобы любой другой проект в системе мог использовать его), добавьте флаг –g (globally):

npm install -g express

Пакет будет установлен в ~/.nvm/versions/node/node_version/lib/node_modules/express.

При глобальной установке команды можно запускать в командной строке, но при этом нужно ссылаться на пакет:

npm link express

Чтобы получить справку по работе с nvm, введите:

nvm help

Удаление Node.js

Вы можете удалить Node.js с помощью apt или nvm (в зависимости от целевой версии). Чтобы удалить стабильную версию, установленную из репозитория, или версию, установленную из PPA, нужно использовать apt на системном уровне.

sudo apt remove nodejs

Эта команда удалит пакет и связанные с ним конфигурационные файлы.

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

nvm current

Если нет, введите:

nvm uninstall node_version

Выбранная версия будет удалена.

Если же она все-таки является версией по умолчанию, вам нужно сначала отключить nvm:

nvm deactivate

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

Заключение

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

Tags: , , ,