Установка Node.js на Debian 13, 12, 11: полное руководство

Node.js — это среда выполнения JavaScript на сервере, построенная на движке V8 (Google Chrome). Она позволяет писать серверные приложения на JavaScript, управлять пакетами через npm (Node Package Manager) и использовать современные инструменты фронтенд-разработки (Webpack, Vite, ESLint и т.д.).

В этом руководстве я покажу три способа установки Node.js на Debian:

  1. Из официальных репозиториев Debian (стабильно, но очень старые версии)
  2. NodeSource через extrepo (свежие LTS-версии с автоматическими обновлениями)
  3. NVM (Node Version Manager) (несколько версий, переключение между ними)
МетодВерсияОбновленияДля кого
Debian APTDebian 13: 20.19.x;
Debian 12: 18.20.x;
Debian 11: 12.22.x
Через apt upgradeСерверы и рабочие
станции, где важна
стабильность Debian
NodeSource через
extrepo
24.x (Active LTS), 22.x
(Maintenance LTS)
Автоматически через
apt upgrade
Разработчики,
которым нужна
свежая LTS-версия
NVMЛюбая версия
(LTS, Current)
Вручную через
nvm install
Периодическое
переключение между
версиями, несколько
проектов

⚠️ Важно: Версии Node.js в официальных репозиториях Debian очень старые и уже не поддерживаются upstream. Для современных проектов используйте NodeSource или NVM.


Оглавление

Предварительные требования

Перед установкой убедитесь, что:

  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Способ 1: Установка из официальных репозиториев Debian

Этот способ самый простой, но версии Node.js сильно устаревшие.

Шаг 1: Обновите систему

sudo apt update && sudo apt upgrade -y

Шаг 2: Установите Node.js и npm

sudo apt install -y nodejs npm

Что делает: Устанавливает Node.js и менеджер пакетов npm.

Шаг 3: Проверьте установку

node --version
npm --version

Ожидаемый вывод (зависит от версии Debian):

  • Debian 13: v20.19.2 и 9.2.0
  • Debian 12: v18.20.4 и 9.2.0
  • Debian 11: v12.22.12 и 7.5.2

⚠️ Внимание: Эти версии уже не поддерживаются upstream (кроме Debian 13, где 20.x EOL). Используйте для старых проектов или если другие методы не подходят.


Способ 2: Установка Node.js из NodeSource через extrepo (рекомендуемый)

NodeSource предоставляет свежие LTS-версии Node.js (24.x, 22.x) через APT-репозиторий. extrepo — официальный инструмент Debian для управления сторонними репозиториями.

Шаг 1: Установите extrepo

sudo apt install -y extrepo

Шаг 2: Найдите доступные версии Node.js в extrepo

extrepo search node

Что делает: Показывает репозитории Node.js, доступные для включения.

Ожидаемый вывод: Строки node_24.x, node_22.x и другие.

Шаг 3: Включите нужную версию

Для Node.js 24.x (Active LTS, рекомендуется):

sudo extrepo enable node_24.x

Для Node.js 22.x (Maintenance LTS):

sudo extrepo enable node_22.x

Шаг 4: Обновите список пакетов

sudo apt update

Шаг 5: Проверьте, что пакет из NodeSource виден

apt-cache policy nodejs | sed -n '1,12p'

Ожидаемый вывод: Должна быть строка с deb.nodesource.com и версией 24.x.x-1nodesource1.

Шаг 6: Установите Node.js

sudo apt install -y nodejs

Что делает: NodeSource-пакет включает npm, отдельно его устанавливать не нужно.

Шаг 7: Проверьте установку

node --version
npm --version

Ожидаемый вывод: v24.15.0 и 11.12.1 (цифры могут отличаться).


Способ 3: Установка Node.js через NVM (Node Version Manager)

NVM позволяет устанавливать и переключаться между несколькими версиями Node.js без прав root.

Шаг 1: Установите зависимости

sudo apt install -y curl ca-certificates

Шаг 2: Установите NVM

latest_nvm="$(curl -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | sed -n 's/.*"tag_name": "\(v[^"]*\)".*/\1/p')"
curl -fsSL "https://raw.githubusercontent.com/nvm-sh/nvm/${latest_nvm}/install.sh" | bash

Что делает: Скачивает и запускает установщик NVM.

Шаг 3: Загрузите NVM в текущую сессию

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

Шаг 4: Проверьте, что NVM установлен

command -v nvm

Ожидаемый вывод: nvm (NVM — shell-функция, поэтому which nvm не покажет её).

Шаг 5: Установите нужную версию Node.js

Установить последнюю LTS-версию:

nvm install --lts

Установить конкретную версию (например, 24):

nvm install 24

Установить последнюю Current-версию (не LTS):

nvm install node

Шаг 6: Сделайте версию активной

nvm use 24

Шаг 7: Установите версию по умолчанию (для новых терминалов)

nvm alias default 24

Шаг 8: Проверьте установку

node --version
npm --version

Ожидаемый вывод: v24.15.0 и 11.12.1.


Основы работы с npm

Установка пакета глобально

npm install -g yarn

Что делает: Устанавливает пакет yarn глобально (доступен из любого места).

Установка пакета локально (в проекте)

npm install lodash

Установка пакета как зависимости разработки

npm install --save-dev eslint

Создание нового проекта

mkdir my-project && cd my-project
npm init -y

Запуск скрипта из package.json

npm run start

Решение типичных проблем

8.1 Ошибка: node: command not found после установки NVM

Симптом: node --version не работает, хотя NVM установлен.

Причина: NVM не загружен в текущую сессию.

Пошаговое решение:

Шаг 1: Загрузите NVM вручную:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

Шаг 2: Установите и используйте версию:

nvm install 24
nvm use 24

8.2 Ошибка: Permission denied при глобальной установке npm-пакета

Симптом: npm install -g something выдаёт EACCES: permission denied.

Причина: npm пытается писать в системную директорию.

Пошаговое решение:

Вариант A (рекомендуемый): Используйте NVM (все пакеты устанавливаются в домашнюю директорию).

Вариант B: Настройте пользовательскую директорию для глобальных пакетов:

mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

8.3 Ошибка: Repository signature или source conflict при использовании NodeSource

Симптом: sudo apt update выдаёт ошибки о дублировании источника или подписи.

Причина: Остались старые файлы репозитория NodeSource.

Пошаговое решение:

Шаг 1: Удалите все старые файлы NodeSource:

sudo rm -f /etc/apt/sources.list.d/nodesource.sources
sudo rm -f /etc/apt/sources.list.d/nodesource.list
sudo rm -f /usr/share/keyrings/nodesource.gpg

Шаг 2: Отключите и включите extrepo заново:

sudo extrepo disable node_24.x
sudo extrepo enable node_24.x
sudo apt update

8.4 Не та версия Node.js активна (переключение между APT и NVM)

Симптом: Вы установили Node.js через APT и NVM, но node --version показывает старую версию.

Причина: APT-версия (в /usr/bin) находится в PATH раньше, чем NVM-версия.

Пошаговое решение:

Используйте NVM для переключения:

nvm use 24

Проверьте, какая команда вызывается:

command -v node

Если вы видите /usr/bin/node — удалите APT-версию:

sudo apt remove nodejs npm

8.5 NVM не сохраняет версию после перезагрузки терминала

Симптом: После перезагрузки терминала node --version показывает старую версию.

Причина: Не задана версия по умолчанию.

Пошаговое решение:

Установите псевдоним по умолчанию:

nvm alias default 24

Чек-лист: что проверить после установки

  • [ ] Node.js установлен: node --version показывает ожидаемую версию
  • [ ] npm установлен: npm --version показывает версию
  • [ ] npx установлен: npx --version показывает версию
  • [ ] Для NVM: command -v nvmnvm
  • [ ] Для NVM: после перезагрузки терминала node --version всё ещё показывает нужную версию
  • [ ] Для NodeSource: apt-cache policy nodejs → строка с deb.nodesource.com

Обновление Node.js

Обновление APT-версии

sudo apt update && sudo apt install --only-upgrade nodejs npm -y

Обновление NodeSource-версии

sudo apt update && sudo apt install --only-upgrade nodejs -y

Обновление NVM-версии

nvm install 24 --reinstall-packages-from=24
nvm alias default 24
nvm use 24

Удаление Node.js

Удаление APT-версии

sudo apt remove --purge nodejs npm
sudo apt autoremove

Удаление NodeSource-версии

sudo apt remove --purge nodejs
sudo extrepo disable node_24.x
sudo rm -f /etc/apt/sources.list.d/extrepo_node_24.x.sources
sudo rm -f /var/lib/extrepo/keys/node_24.x.asc
sudo apt update

Удаление NVM и всех версий Node.js

rm -rf ~/.nvm

Удалите строки NVM из ~/.bashrc: откройте файл и удалите блок:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Часто задаваемые вопросы (FAQ)

Вопрос: Какая версия Node.js стоит в Debian по умолчанию?
Ответ: Debian 13 → 20.19.x, Debian 12 → 18.20.x, Debian 11 → 12.22.x. Все эти версии устаревшие.

Вопрос: NodeSource и NVM — что лучше?
Ответ: NodeSource проще (одна версия, автоматические обновления через APT). NVM удобнее, если нужно переключаться между версиями для разных проектов.

Вопрос: Нужно ли устанавливать npm отдельно для NodeSource?
Ответ: Нет, npm входит в пакет nodejs от NodeSource.

Вопрос: Как проверить, какая версия Node.js активна?
Ответ: node --version. Для NVM: nvm current.

Вопрос: Могут ли APT и NVM сосуществовать?
Ответ: Да, но активной будет та версия, которая первая в PATH. NVM переопределяет PATH, поэтому после nvm use будет активна NVM-версия.


Заключение

Теперь Node.js установлен на вашем Debian. Вы можете разрабатывать серверные JavaScript-приложения, использовать npm для управления пакетами и современные инструменты фронтенда.

Что дальше?

  • Установите Yarn как альтернативу npm
  • Установите Visual Studio Code для разработки
  • Установите Git для контроля версий