Node.js — это среда выполнения JavaScript на сервере, построенная на движке V8 (Google Chrome). Она позволяет писать серверные приложения на JavaScript, управлять пакетами через npm (Node Package Manager) и использовать современные инструменты фронтенд-разработки (Webpack, Vite, ESLint и т.д.).
В этом руководстве я покажу три способа установки Node.js на Debian:
- Из официальных репозиториев Debian (стабильно, но очень старые версии)
- NodeSource через extrepo (свежие LTS-версии с автоматическими обновлениями)
- NVM (Node Version Manager) (несколько версий, переключение между ними)
| Метод | Версия | Обновления | Для кого |
|---|---|---|---|
| Debian APT | Debian 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 nvm→nvm - [ ] Для 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 для контроля версий