Установка 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», а другой режим: новые возможности в обмен на короткий срок жизни.
nvm / fnm — разработка
Менеджер версий
- Несколько версий сразу,
nvm use .nvmrcпривязывает версию к проекту- Живёт в
~/.nvm— sudo не нужен - Ставим 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 года.
Это не придирка к 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`?
nodejs, потому что имя node было занято другим пакетом. У NodeSource и nvm такой проблемы нет — команда называется node.Нужно ли ставить npm отдельно?
npm через apt требовалась только для старых пакетов из репозитория Ubuntu и сегодня скорее сломает вам версии.Что делать, если нужны разные версии Node для разных проектов?
nvm use.Можно ли ставить Node через snap?
Нужен ли sudo для установки пакетов npm?
npm install -g требует root, значит Node установлен системно в каталог, куда у вас нет прав. С nvm всё лежит в домашнем каталоге, и sudo не нужен вообще.