Установка, апгрейд и переустановка Node.js на Ubuntu

👁 416 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Введение

Node.js — это JavaScript платформа для общего назначения, которая позволяет пользователям быстро построить сетевые программы. На этой платформе при помощи JavaScript достигается цель построения как фронтенд, так и бэкэнд.

В данном гайде показывается несколько способов установки Node.js на Ubuntu 16.04 сервер.

Требования

В этом руководстве предполагается, что вы используете Ubuntu 16.04. Прежде чем начать, вы должны иметь учетную запись пользователя без полномочий root с привилегиями sudo, установленными в вашей системе.

Установка стабильной версии(Distro-Stable) Node.js на Ubuntu

Ubuntu 16.04 содержит версию Node.js в своих репозиториях по умолчанию, которые могут быть использованы для обеспечения последовательного взаимодействия с несколькими системами. На момент написания статьи версия в репозиториях — v4.2.6. Это будет не последняя версия, но она должна быть довольно стабильной и должна быть достаточной для быстрого экспериментирования с языком, но, возможно, что эта версия нам не подойдет, если требуется использоваться современные фишки или функции Node.js.

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

sudo apt-get update
sudo apt-get install nodejs

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

sudo apt-get install npm

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

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

Но, если мы хотим, чтобы  команда nodejs была запущена и через команду node, надо будет сделать символическую ссылку. И есть несколько методов это сделать:

  • Вам нужно вручную создать символическую ссылку /usr/bin/node. Ярлык для совместимых с bash оболочек:
sudo ln -s `which nodejs` /usr/bin/node
  • Или, если вы используете нестандартные оболочки, просто скопируйте путь, который вы найдете по команде which nodejs:
sudo ln -s /usr/bin/nodejs /usr/bin/node
  • Возможно, что вышеизложенные оба метода могут вызвать конфликты имен, когда ссылаем команду node на nodejs. И для решения этого есть третий способ:
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

Это первый и, думаю, самый легкий способ установки Node.js на Ubuntu 16.04, но не самый гибкий, если, к примеру, мы хотим установить другую версию, а не Distro-Stable, которая валяется в репозиториях Ubuntu давненько.

 

 

Установка Node.js на Ubuntu 16.04, используя PPA

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

Но есть вероятность, что самая последняя версия Node.js может не работать в Ubuntu нашей версии, поэтому надо это учитывать и не пытаться устанавливать нестабильную или самую последнюю версию.

Данный метод, который может помочь нам получить более новую версию Node.js, является добавление из PPA (Personal Package Archive, Персональный Пакетный Архив), поддерживаемый NodeSource. Отсюда можно подгрузить более современную версию Node.js, чем официальные репозитории Ubuntu, и позволяет нам выбирать между Node.js v4.x (более старая долгосрочная версия поддержки, поддерживаемая до апреля 2017 года), v6. x (более поздняя версия LTS, которая будет поддерживаться до апреля 2018 года) и Node.js v7.x (текущая, активно развиваемая версия).

Во-первых, вам нужно установить PPA, чтобы получить доступ к его содержимому. Для этого необходимо убедиться, что мы находимся в своем домашней директории и используем curl, чтобы подгрузить скрипт установки для нашей предпочтительной версии. Ниже мы сейчас устанавливаем версию 7.x:

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

Мы можем проверить содержимое этого скрипта с помощью команды редактирования текстового документа nano (или вашего предпочтительного текстового редактора):

nano nodesource_setup.sh

Скрипт установки Node.js надо запустить под sudo:

sudo bash nodesource_setup.sh

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

sudo apt-get install nodejs

Пакет nodejs содержит бинарный файл nodejs, а также менеджер пакетов npm, так что нам не нужно устанавливать npm отдельно. Однако для того, чтобы некоторые npm пакеты работали (например, те, которые требуют компиляции кода из исходного кода), нам необходимо установить пакет build-essential:

curl — это инструмент для загрузки или передачи файлов или данных с сервера или на сервер с использованием FTP, HTTP, HTTPS, SCP, SFTP, SMB и других поддерживаемых протоколов в Linux или Unix-подобной системе. Можно легко установить и использовать команду curl на Ubuntu Linux, используя команду apt или команду apt-get, чтобы использовать curl. Для установки данного инструмента необходимо выполнить команду

sudo apt install curl

 

 

Установка Node.js на Ubuntu, используя NVM

Альтернативой установке Node.js через apt и PPA является использование специально разработанного инструмента, называемого nvm «Node.js version manager»(Менеджер Версий Node.js).

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

Для начала нам нужно будет получить пакеты программного обеспечения из наших репозиториев Ubuntu, которые позволят нам создавать исходные пакеты. Скрипт nvm будет использовать эти инструменты для создания необходимых компонентов:

sudo apt-get update
sudo apt-get install build-essential libssl-dev

После установки пакетов необходимых условий мы можем загрузить сценарий установки nvm со страницы проекта GitHub . Номер версии может отличаться, но в целом мы можем скачать этот скрипт установки при помощью curl:

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

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

nano install_nvm.sh

После проверки, если все нормально, запускаем этот скрипт при помощи команды bash:

bash install_nvm.sh

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

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

source ~/.profile

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

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

nvm ls-remote

Это выведет весь список возможных к установке версий Node.js

Output
...
v5.8.0
v5.9.0
v5.9.1
v5.10.0
v5.10.1
v5.11.0
v6.0.0
v7.0.0

Как вы можете видеть, самая новая версия на момент написания этой статьи — v7.0.0. Мы можем установить его, набрав:

nvm install 7.0.0

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

nvm use 7.0.0

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

node -v

Это выведет что-то на подобие:

Output
v7.0.0

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

nvm ls

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

nvm alias default 7.0.0

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

nvm use default

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

Мы можем с помощью npm установить пакеты в ./node_modules каталог проекта Node.js, используя обычный формат. Например, для express — модуля:

npm install express

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

npm install -g express

Это установит пакет в ~/.nvm/node_version/lib/node_modules/package_name.

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

npm link express

Мы можем узнать больше о доступных нам параметрах с help из nvm, набрав:

nvm help

 

Апгрейд Node.js через удаление и переустановку новой версии

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

sudo apt-get purge nodejs
sudo apt-get autoremove

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

sudo apt-get purge --auto-remove nodejs

 

Заключение

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