Установка Node.js на Ubuntu: nvm, NodeSource или apt

✓ Все примеры выполнены на данные сверены с nodejs.org, NodeSource и Ubuntu, июль 2026

Содержание

Установка Node.js на Ubuntu выглядит как задача на одну команду — и именно поэтому её чаще всего делают неправильно. Первая же команда из поиска ставит версию, снятую с поддержки.

Разберём три реальных способа, их цену и то, какую версию вообще стоит ставить в 2026 году.

Какую версию Node ставить

Ответ: Node 24. Это текущий Active LTS под кодовым именем Krypton. Полная картина на июль 2026 по данным nodejs.org:

Версия Статус Ставить?
v24 (Krypton) Active LTS да, по умолчанию
v26 Current только если нужны новейшие возможности
v22 (Jod) Maintenance LTS приемлемо, если уже используется
v20 (Iron) EOL с 24 марта 2026 нет
v18 (Hydrogen) EOL с 27 марта 2025 нет

Правило от самого проекта Node: в продакшене допустимы только линии Active LTS и Maintenance LTS. Всё остальное не получает исправлений безопасности.

Разница между Current и LTS не в «свежести ради свежести». Чётные мажорные версии переходят в LTS и живут около трёх лет, нечётные — экспериментальные и умирают через месяцы. Поэтому v26 не «лучше, чем v24», а другой режим: новые возможности в обмен на короткий срок жизни.

Три способа поставить Node: что выбрать

nvm / fnm — разработка

Менеджер версий

  • Несколько версий сразу, nvm use
  • .nvmrc привязывает версию к проекту
  • Живёт в ~/.nvmsudo не нужен
  • Ставим Node 24 (Active LTS)

NodeSource — сервер

Системный пакет, обновления через apt

  • Скрипт скачать, прочитать, запустить
  • Версию указывать числом: setup_24.x
  • Поддержка: Ubuntu 20.04 / 22.04 / 24.04
  • 26.04 в списке пока нет

apt install nodejs

Самый частый совет — и самый вредный

  • На Ubuntu 24.04 даёт Node 18.19.1
  • Node 18 снят с поддержки в марте 2025
  • Обновлений безопасности нет
  • Законно: только если Node — чужая зависимость

Способ 1: nvm — для разработки

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

# ставим сам nvm (актуальный номер версии скрипта смотрите в репозитории nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

# перечитываем профиль или открываем новый терминал
source ~/.bashrc

# ставим Node 24 LTS и делаем его версией по умолчанию
nvm install 24
nvm alias default 24

node -v
npm -v

Что это даёт:

  • несколько версий одновременно: nvm install 22, потом nvm use 22 — переключение мгновенное;
  • никакого sudo: всё живёт в ~/.nvm, поэтому npm install -g работает без прав root;
  • привязка версии к проекту: положите в корень файл .nvmrc с одной строкой 24, и команда nvm use в этом каталоге сама возьмёт нужную версию.

Альтернатива — fnm: то же самое, но написан на Rust и заметно быстрее переключается. Если nvm раздражает задержкой при открытии терминала, посмотрите на него.

Способ 2: NodeSource — для сервера

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

# скачиваем скрипт установки репозитория (24 — нужная мажорная версия)
curl -fsSL https://deb.nodesource.com/setup_24.x -o nodesource_setup.sh

# читаем, что именно он собирается сделать
less nodesource_setup.sh

# запускаем
sudo -E bash nodesource_setup.sh

# ставим Node вместе с npm
sudo apt install -y nodejs

node -v

Обратите внимание на второй шаг. Раньше эту команду писали одной строкой: curl ... | sudo bash. Так делать не стоит — вы выполняете от root скрипт, который даже не видели. NodeSource поэтому и рекомендует сегодня сначала скачать файл, а потом запустить: между этими шагами есть возможность в него заглянуть.

По документации NodeSource на июль 2026 репозиторий поддерживает Ubuntu 20.04 (Focal), 22.04 (Jammy) и 24.04 (Noble), а из версий Node предлагает 18, 20, 21, 22, 23 и 24.

Два практических замечания:

  • Ubuntu 26.04 в списке поддерживаемых пока нет. Если вы уже на «Resolute Raccoon», проверьте статус в репозитории NodeSource перед установкой — или используйте nvm.
  • Указывайте версию числом, а не алиасом. У NodeSource есть удобные setup_lts.x и setup_current.x, но что именно за ними стоит, меняется со временем. setup_24.x даст ровно то, что вы ожидаете, и через год тоже.

Способ 3: apt из репозитория Ubuntu — и почему не надо

Самый короткий способ и самый частый совет в интернете:

sudo apt update
sudo apt install nodejs

Проблема в том, что вы получите. В Ubuntu 24.04 пакет nodejs — это версия 18.19.1. А Node 18 достиг конца жизни 27 марта 2025 года.

18.19.1
Node в apt на Ubuntu 24.04
пакет nodejs в стандартном репозитории
Источник: packages.ubuntu.com
март 2025
Node 18 снят с поддержки
исправлений безопасности больше нет
Источник: nodejs.org
v24
Что стоило поставить
Active LTS, кодовое имя Krypton
Источник: nodejs.org

Это не придирка к Ubuntu. Пакет в репозитории замораживается на момент выпуска дистрибутива и живёт весь его цикл — таков принцип LTS-дистрибутива, и для условного curl это правильно. Но релизный цикл Node вдвое короче цикла Ubuntu, поэтому к середине жизни дистрибутива его пакет Node всегда оказывается мёртвым.

Единственный случай, когда apt install nodejs уместен: вам нужен не Node для разработки, а какая-то утилита, которой Node требуется как зависимость, и версия вам безразлична.

Как выбрать

Ситуация Способ
Разработка, несколько проектов nvm (или fnm)
Сервер, одно приложение, обновления через apt NodeSource
Docker ни то, ни другое — базовый образ node:24-slim
Node нужен как зависимость чужой утилиты apt install nodejs

Про Docker стоит сказать отдельно: если приложение едет в контейнере, устанавливать Node внутрь не нужно вообще. Официальный образ уже содержит нужную версию, а тег вроде node:24-slim фиксирует её надёжнее любого скрипта.

Про версии самой Ubuntu

Раз уж эта статья исторически про установку «на Ubuntu 14.04 и 16.04» — обновим и эту часть. На июль 2026 картина такая:

Версия Статус
26.04 LTS (Resolute Raccoon) вышла в апреле 2026, поддержка до 2031
24.04 LTS (Noble Numbat) поддержка до мая 2029
22.04 LTS (Jammy Jellyfish) поддержка до 2027
20.04 LTS (Focal Fossa) стандартная поддержка закончилась 31 мая 2025
16.04, 14.04 мертвы много лет

Если вы на 20.04 — вы уже вне стандартной поддержки: обновления идут только по подписке Ubuntu Pro (ESM), до 2030 года. Для нового сервера берите 24.04 или 26.04.

Отдельная деталь про обновление: перейти с 22.04 сразу на 26.04 нельзя. Сначала на 24.04, потом на 26.04 — Canonical допускает переход только на следующий LTS.

Что было на этой странице в 2016 году

Эта статья вышла 6 января 2016 года и называлась «Установка Node.js на Linux Ubuntu 16.04 и 14.04». Она предлагала те же три способа — репозиторий, PPA от NodeSource, NVM — и в этом смысле за десять лет не изменилось ничего. Изменилось всё остальное.

Версия в репозитории. Автор честно предупреждал:

«В стандартных репозиториях Ubuntu есть стабильная версия Node.js, но это не самая последняя версия (при написании этой статьи версия Node.js в репозиториях — 0.10.25).»

0.10.25 — против 18.19.1 сегодня. Проблема ровно та же самая, только цифры выросли: репозиторий Ubuntu всегда отстаёт настолько, что его Node оказывается снят с поддержки. Предупреждение из 2016-го актуально дословно — просто теперь мы можем сказать точнее: это не «не самая последняя версия», а «версия без исправлений безопасности».

Команда установки NodeSource. Тогда она выглядела так:

curl -sL https://deb.nodesource.com/setup | sudo bash -

Здесь два отличия от сегодняшнего дня. Во-первых, setup без номера версии: подставлялось то, что NodeSource считал актуальным на тот день. Во-вторых, скрипт пайпился прямо в sudo bash — команда скачивала код и немедленно выполняла его от root, не давая шанса в него заглянуть. Сегодня NodeSource сам советует сначала сохранить файл, а потом запустить.

Отдельная установка npm. В той версии после apt-get install nodejs шла отдельная команда sudo apt-get install npm: пакет Node в репозитории не включал npm. И проверка версии писалась как nodejs -v, а не node -v — в старых пакетах Ubuntu исполняемый файл назывался nodejs, потому что имя node было занято другим пакетом. Отсюда до сих пор всплывающий вопрос «почему не работает команда node».


Смежные темы: первый HTTP-сервер — что запустить сразу после установки; объект process — как узнать версию и окружение уже из кода; глобальные объекты — что доступно без единого импорта. Полный список — в справочнике по Node.js.

Частые вопросы

Почему не работает команда `node`, но работает `nodejs`?
Это наследие старых пакетов Ubuntu: там исполняемый файл назывался nodejs, потому что имя node было занято другим пакетом. У NodeSource и nvm такой проблемы нет — команда называется node.
Нужно ли ставить npm отдельно?
Нет. И NodeSource, и nvm ставят npm вместе с Node. Отдельная установка npm через apt требовалась только для старых пакетов из репозитория Ubuntu и сегодня скорее сломает вам версии.
Что делать, если нужны разные версии Node для разных проектов?
Только nvm или fnm. Системный пакет физически один на всю машину; менеджер версий держит несколько и переключает командой nvm use.
Можно ли ставить Node через snap?
Технически да, пакет есть. Но обновления там идут по своему графику, а поведение внутри контейнера snap отличается от обычного. Для сервера предсказуемее NodeSource, для разработки удобнее nvm.
Нужен ли sudo для установки пакетов npm?
Нет, и необходимость sudo — признак проблемы. Если npm install -g требует root, значит Node установлен системно в каталог, куда у вас нет прав. С nvm всё лежит в домашнем каталоге, и sudo не нужен вообще.