береженого кольт бережет
береженого кольт бережет

Как установить Node.js в Ubuntu 18.04

Введение

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

В этом руководстве мы покажем вам, как начать использовать Node.js на сервере с Ubuntu 18.04.

Установка стабильной версии дистрибутива из стандартных репозиториев

В стандартных репозиториях Ubuntu 18.04 есть версия Node.js, которую удобно использовать для обеспечения однородной среды выполнения сетевых приложений сразу на нескольких серверах. На момент написания этой статьи текущая версия в репозиториях — 8.10.0. Это не самая последняя версия, но она довольно стабильна и её будет достаточно для экспериментов с языком.

Для установки этой версии воспользуемся пакетным менеджером apt. Сначала обновим локальный индекс пакетов:

sudo apt update

Теперь установим Node.js из репозиториев:

sudo apt install nodejs

Если пакет из репозиториев удовлетворяет вашим потребностям, то на этом установка Node.js закончена. Однако в большинстве случаев вам также потребуется установить npm — менеджер пакетов для Node.js. Это можно сделать при помощи следующей команды:

sudo apt install npm

Это позволит вам легко устанавливать модули и пакеты для Node.js.

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

Для проверки того, какую именно версию Node.js вы установили в процессе, описанном выше, выполните команду:

nodejs -v

После того, как вы определили версию Node.js, установленную из репозиториев Ubuntu, вы можете решить, хотите ли вы работать с разными версиям, архивами пакетов или менеджерами версий. Далее мы рассмотрим эти вопросы вместе с процессом более гибкой установки.

Установка при помощи PPA

Альтернативный способ, при помощи которого можно установить более свежую версию Node.js, — это использование PPA (персональный архив пакетов), который поддерживается компанией NodeSource. В архиве содержатся более новые версии Node.js, чем в официальных репозиториях Ubuntu. Используя архив вы также сможете выбирать между Node.js v6.x (поддерживается до апреля 2019), Node.js v8.x (текущая версия с долгосрочной поддержкой до декабря 2019) и Node.js v10.x (последняя версия, поддерживается до апреля 2021).

Прежде всего, вам необходимо установить сам PPA для получения доступа к его содержимому. Убедитесь, что вы находитесь в своей домашней директории, а затем используйте curl для получения установочного скрипта для необходимой вам версии, заменив 8.x на необходимую вам версию:

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

Вы можете просмотреть содержимое скрипта с помощью nano (или любого другого текстового редактора):

nano nodesource_setup.sh

Запустите скрипт с правами sudo:

sudo bash nodesource_setup.sh

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

sudo apt install nodejs

Для проверки того, какую именно версию Node.js вы установили в процессе, описанном выше, выполните команду:

nodejs -v
Output

v8.11.1

Пакет nodejs содержит и nodejs и npm, поэтому нет никакой необходимости в дополнительной установке npm

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

npm -v
Output

5.6.0

Для работы некоторых пакетов из npm (например таких, которые требуют компиляцию из исходников), вам потребуется установить пакет build-essentials:

sudo apt install build-essential

Теперь у вас есть все необходимые инструменты для работы с пакетами npm, которые требуют компиляции из исходников.

Установка при помощи NVM

Альтернативой установке Node.js через apt является использование специального инструмента nvm, что расшифровывается как “Node.js version manager” (менеджер версий Node.js). Вместо того, чтобы работать на уровне операционной системы, nvm работает на уровне независимой директории в вашей домашней директории. Это означает, что вы можете устанавливать несколько самостоятельных версий Node.js, которые не будут влиять друг на друга.

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

Для загрузки установочного скрипта nvm со страницы проекта на GitHub можно использовать curl. Обратите внимание на то, что номер версии может отличаться от указанного в этом примере:

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

Просмотреть установочный скрипт можно используя nano:

nano install_nvm.sh

Запустите скрипт в bash:

bash install_nvm.sh

Эта команда установит ПО в поддиректорию ~/.nvm вашей домашней директории. Также в файл ~/.profile будут добавлены некоторые необходимые для работы настройки.

Для получения доступа к функционалу nvm, вам необходимо перелогиниться в системе, либо вы можете использовать команду source для того, чтобы применить изменения не прерывая текущую сессию:

source ~/.profile

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

nvm ls-remote
Output

...
         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  

Как вы можете видеть, новейшей версией на момент написания руководства является v8.11.1. Установить ее можно при помощи следующей команды:

nvm install 8.11.1

Обычно nvm переключается на использование последней установленной версии. Вы можете указать nvm использовать только что загруженную версию в явном виде следующим образом:

nvm use 8.11.1

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

node -v
Output

v8.11.1

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

nvm ls

Если вы хотите настроить одну из версий как версию по умолчанию, введите:

nvm alias default 8.11.1

Эта версия будет автоматически выбираться при начале новой сессии. Вы также можете ссылаться на нее по псевдониму (алиасу) следующим образом:

nvm use default

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

npm может устанавливать пакеты в директорию ./node_modules проектов Node.js. Например, для модуля express это можно сделать вот так:

npm install express

Если вы хотите установить пакет глобально (чтобы он был доступен для других проектов, использующих ту же версию Node.js), следует добавить флаг -g:

npm install -g express

Эта команда установит пакет в директорию:

~/.nvm/versions/node/node_version/lib/node_modules/express

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

npm link express

Узнать больше о доступных опциях можно при помощи следующей команды:

nvm help

Удаление Node.js

Вы можете удалить Node.js используя apt или nvm в зависимости от того, что вы использовали для установки. Для удаление стабильной версии дистрибутива из репозиториев Ubuntu используйте apt:

sudo apt remove nodejs

Эта команда удалит пакет, но оставит конфигурационные файлы. Это может быть удобно, если вы захотите установить пакет ещё раз позднее. Если вы не хотите сохранять конфигурационные файлы для последующего использования, выполните команду:

sudo apt purge nodejs

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

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

sudo apt autoremove

Для удаления версии Node.js, установленной с помощью nvm, сперва определите, является ли эта версия текущей активной версией:

nvm current

Если версия, которую вы хотите удалить, не является текущей активной версией, выполните команду:

nvm uninstall node_version

Эта команда удалит выбранную версию Node.js.

Если удаляемая версия является текущей активной версией, вам необходимо сначала деактивировать nvm для применения ваших изменений:

nvm deactivate

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

Заключение

Как вы видите, существует несколько способов установки Node.js на ваш сервер с Ubuntu 18.04. Какой из этих способов подходит вам больше — решать вам. В то время, как установка из репозиториев Ubuntu — это наиболее простой метод, использование для установки nvm является куда более гибким.