Установка Node.js и npm на Debian

Опубликовано Обновлено 4 мин. чтения

Node.js 10 и 12 давно остались без поддержки. Здесь показано, как установить актуальную LTS-версию вместе с npm на Debian через NodeSource, с ключом подписи в /etc/apt/keyrings.

Node.js — это среда выполнения, на которой держатся бесчисленные веб-приложения, API и Discord-боты. На собственном сервере она устанавливается за несколько минут. В этом руководстве вы настроите Node.js вместе с npm на Debian 13, Debian 12 и Debian 11. В Ubuntu работают те же самые команды.

Важно выбрать правильную версию. Распространённые раньше инструкции для Node.js 10 и Node.js 12 устарели: обе версии уже много лет не получают обновлений безопасности, и им больше не место ни на одном сервере.

Какую версию Node.js стоит установить?

Новая основная версия Node.js выходит дважды в год. В линию LTS (Long Term Support) попадают только чётные номера версий, и после этого их сопровождают примерно три года. Нечётные версии — это короткоживущие ветки разработки, для продуктивных систем они не предназначены.

  • Node.js 24 LTS («Krypton»): текущая рекомендация для новых проектов и продуктивных серверов.
  • Node.js 22 LTS: по-прежнему широко распространена, имеет смысл, если приложение явно требует именно эту версию.
  • Node.js 10 и 12: без поддержки с 2021 и 2022 годов соответственно. Больше не используйте их.

Если сомневаетесь, посмотрите требования своего приложения. Многие проекты указывают нужную версию в поле «engines» файла package.json.

Что понадобится

  • Доступ с правами root к вашему VPS или root-серверу по SSH.
  • Актуальный Debian. Сначала приведите систему в свежее состояние:
apt update && apt upgrade -y

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

apt install -y ca-certificates curl gnupg

Вариант 1: Node.js из репозиториев Debian

Самый простой путь ведёт через штатные репозитории системы:

apt install nodejs npm -y

Плюс: обновления приходят автоматически вместе с остальными системными обновлениями. Минус: пакеты Debian обычно отстают от актуальной линии LTS на одну или две основные версии. Какая версия доступна именно у вас, видно ещё до установки:

apt-cache policy nodejs

По состоянию на июль 2026 года репозитории дают: Debian 13 «Trixie» Node.js 20.19, Debian 12 «Bookworm» Node.js 18.20, Ubuntu 24.04 Node.js 18.19, Ubuntu 22.04 Node.js 12.22. Если этого достаточно, на этом всё. Если нужна актуальная линия LTS, переходите к варианту 2.

Вариант 2: установка Node.js 24 LTS через NodeSource

NodeSource поддерживает официальные репозитории для Debian и Ubuntu. С ними вы получаете ровно ту основную версию, которая нужна, и по-прежнему получаете обновления через apt.

Добавление ключа подписи

Прежний способ через apt-key больше не применяется. Начиная с Debian 11 ключи подписи лежат в отдельном каталоге /etc/apt/keyrings/:

mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Подключение репозитория и установка

Затем внесите репозиторий в систему. Через переменную задаётся нужная основная версия, здесь 24:

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list

Для Node.js 22 укажите вместо этого NODE_MAJOR=22. Дальше следует сама установка:

apt update
apt install nodejs -y

npm уже входит в пакет NodeSource. Не ставьте здесь дополнительно пакет Debian «npm», иначе возникнет конфликт пакетов.

Короткий путь через скрипт установки

NodeSource предлагает ещё и скрипт, который объединяет оба шага выше:

curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install nodejs -y

Удобно, но вы запускаете с правами root скрипт, загруженный из сети. На продуктивных серверах путь через ключ и репозиторий аккуратнее.

Проверка установки

В завершение запросите обе версии:

node --version
npm --version

Если node выводит строку, начинающуюся с v22., а npm показывает номер версии, установка прошла успешно.

Если вы хотите работать с yarn или pnpm: оба включаются через Corepack, входящий в состав Node.js, отдельная установка не нужна:

corepack enable

Несколько версий Node.js параллельно

Если на одном сервере работает несколько приложений с разными требованиями, выручает Node Version Manager (nvm). Он устанавливает Node.js в каталог пользователя, поэтому несколько версий уживаются рядом и переключаются под каждый проект отдельно.

После установки nvm (следуйте при этом инструкции самого проекта) достаточно таких команд:

nvm install 24
nvm use 24
nvm alias default 24

Важно: nvm всегда принадлежит одному конкретному пользователю. Системные службы, работающие от другого пользователя, эту установку Node.js не найдут. Для служб надёжнее установка из пакета.

Переход на более новую версию

Если позже понадобится перейти на новую линию LTS, просто измените номер версии в репозитории и обновите пакеты:

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
apt update && apt install nodejs -y

После смены версии протестируйте своё приложение. Между двумя основными версиями интерфейсы могут меняться, а старые нативные модули иногда приходится пересобирать.

Частые ошибки

  • «E: Unable to locate package nodejs»: после добавления репозитория забыли выполнить apt update.
  • Конфликт пакетов между nodejs и npm: вы поставили пакет Debian «npm» рядом с пакетом NodeSource. Удалите npm командой apt remove npm, подходящая версия входит в состав самого Node.js.
  • «NO_PUBKEY» или «signatures couldn't be verified»: ключ подписи лежит не в /etc/apt/keyrings/, либо строка репозитория не содержит подходящей ссылки signed-by.
  • По-прежнему показывается старая версия: в системе остались следы прежней установки. Удалите в /etc/apt/sources.list.d/ старые файлы, которые ссылаются на nodesource, и установите пакет заново.
  • Пакет npm обрывается при компиляции: для нативных модулей не хватает инструментов сборки. Установите их командой apt install -y build-essential python3.

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

Какую версию Node.js мне установить?
Для новых проектов берите актуальную линию LTS, то есть Node.js 22. Node.js 20 по-прежнему широко распространена и оправдана, если приложение требует именно эту версию. Node.js 10 и 12 уже много лет не получают обновлений безопасности.
Почему версия из репозитория Debian такая старая?
Debian замораживает версии пакетов на момент выпуска релиза и дальше поставляет только исправления безопасности. Если вам нужна определённая основная версия, путь лежит через репозиторий NodeSource.
Нужно ли устанавливать npm отдельно?
Нет. Пакет от NodeSource уже содержит npm. Не ставьте дополнительно пакет Debian npm, иначе возникнет конфликт пакетов.
Как позже перейти на более новую версию?
Измените номер версии в файле репозитория в /etc/apt/sources.list.d/ и снова выполните apt update, а затем apt install nodejs. После этого протестируйте приложение, поскольку между основными версиями интерфейсы могут меняться.
Почему ключ подписи лежит в /etc/apt/keyrings?
Прежняя команда apt-key больше не применяется. Начиная с Debian 11 ключи подписи хранятся в отдельном каталоге и привязываются к репозиторию через параметр signed-by.

Node.js npm NodeSource Debian LTS nvm apt