Установка Node.js и npm на Debian
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 мне установить?
Почему версия из репозитория Debian такая старая?
Нужно ли устанавливать npm отдельно?
Как позже перейти на более новую версию?
Почему ключ подписи лежит в /etc/apt/keyrings?
2022-2026 KernelHost GmbH. Все права защищены. Эта инструкция охраняется авторским правом. Публикация на других сайтах, в том числе частично или в изменённом виде, без нашего письменного согласия не разрешается. Цитирование с указанием источника и активной ссылкой мы приветствуем.

