Почему старая версия Node.js установлена на моем компьютере с Ubuntu [дубликат]

Вопрос или проблема

Я установил Nodejs на мой Ubuntu:

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial

с помощью следующих команд:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Результат:

$ nodejs -v
v4.2.6

В интернете я вижу много новых версий https://nodejs.org/en/download/releases/.
Итак,

  1. Почему такая старая версия установлена по умолчанию
  2. Как установить более новую версию?

Спасибо!

4.2.6 действительно является версией Node, которая присутствует в репозиториях Xenial. Ubuntu не производит крупных обновлений версий пакетов в рамках одной и той же дистрибуции, поэтому если Node 4 был доступен, когда вышел Xenial (что означает апрель 2016 года, что кажется правильным – это была текущая версия LTS), то вы будете использовать версию 4 на протяжении всего времени жизни Xenial, пока не обновите дистрибуцию.

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

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

Ubuntu имеет эту версию nodejs, потому что она была одной из версий LTS (долгосрочная поддержка) и является очень стабильной.

Существует несколько различных способов установки более новых версий. Я бы рекомендовал установить его через nvm, чтобы получить доступ к последним версиям. Кроме того, такой способ установки является более удобным, если вы будете разрабатывать на нескольких системах, а не полагаться на менеджер пакетов системы. Для этого сначала удалите текущую версию

sudo apt-get remove nodejs

Чтобы убедиться, что он полностью удален, вы можете выполнить sudo apt-get purge nodejs и sudo apt-get autoremove

Теперь мы можем подготовиться к использованию npm, установив build-essential и libssl-dev

sudo apt-get install build-essential libssl-dev

Теперь мы можем скачать скрипт установки nvm со страницы проекта на GitHub

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

Запустите скрипт установки с помощью

bash install_nvm.sh

На этом этапе проще всего выйти из системы, а затем войти обратно, чтобы завершить настройку npm.

Теперь мы можем использовать следующие команды для установки целевой версии nodejs

nvm ls-remote показывает доступные версии

nvm install (versionNumber)

nvm use (versionNumber) Вы можете иметь несколько устанавливаемых версий, чтобы выбрать, какую из них использовать

затем проверьте версию, которую вы выбрали, с помощью

node -v <- Обратите внимание, что с npm команда – это node, а не nodejs

Существует отличная статья на эту тему на Digital Ocean. Для получения дополнительной информации посетите ссылку https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-16-04

.

Ответ или решение

Почему на моем Ubuntu установлен старый вариант Node.js?

Если вы заметили, что на вашем Ubuntu 16.04.6 LTS установлен устаревший вариант Node.js (например, версия 4.2.6), это связано с подходом Ubuntu к управлению пакетами и обновлениям программного обеспечения.

1. Почему установлена такая старая версия?

Ubuntu придерживается философии стабильности, когда речь идет о версиях программного обеспечения, особенно в версиях LTS (Long Term Support, долгосрочная поддержка). Когда Xenial Xerus (16.04) был выпущен в апреле 2016 года, версия Node.js, доступная в официальных репозиториях, была 4.x. В течение жизненного цикла дистрибутива Ubuntu новая версия Node.js не будет автоматически обновляться в репозиториях. Это решение основано на стремлении предоставить пользователям надежное и стабильное программное обеспечение без рисков, связанных с совместимостью.

2. Как установить более новую версию?

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

Метод 1: Использование NodeSource:
NodeSource предлагает актуальные бинарные дистрибутивы Node.js. Вы можете установить новую версию Node.js, следуя этим шагам:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

Эти команды загрузят и установят актуальную версию Node.js (например, 14.x), что рекомендуется для большинства пользователей.

Метод 2: Использование NVM (Node Version Manager):
Для разработчиков, работающих с несколькими версиями Node.js, использование NVM может быть лучшим выбором. Установка через NVM позволяет легко переключаться между версиями.

  1. Удалите существующую версию Node.js:
sudo apt-get remove nodejs
sudo apt-get purge nodejs
sudo apt-get autoremove
  1. Установите необходимые пакеты для сборки:
sudo apt-get install build-essential libssl-dev
  1. Скачайте и установите NVM, выполнив:
curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh -o install_nvm.sh
bash install_nvm.sh
  1. Чтобы завершить установку, перезапустите терминал или выполните следующие команды:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # для bash
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # для bash
  1. Используйте NVM для установки нужной версии Node.js:
nvm ls-remote  # Покажет список доступных версий
nvm install <номер_версии>  # Замените <номер_версии> на нужную версию
nvm use <номер_версии>  # Активирует выбранную версию
  1. Проверьте установленную версию:
node -v  # Эта команда покажет текущую установленную версию

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

Заключение

Установка старой версии Node.js на Ubuntu связано с устойчивостью и стабильностью, гарантирующей беспроблемную работу системы в долгосрочной перспективе. Однако при необходимости использования новой версии доступны различные методы, такие как установка через NodeSource или использование NVM для управления версиями. Выбор метода зависит от ваших потребностей и рабочего процесса. Чтобы обеспечить лучшую производительность и совместимость, рекомендуется использовать актуальные версии Node.js.

Оцените материал
Добавить комментарий

Капча загружается...