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

О чём статья
- Что такое Node.js и NPM — кратко и по делу.
- Подготовка Debian 11 и обновление пакетов.
- Установка Node.js через NodeSource PPA.
- Установка и управление версиями через NVM.
- Простой тестовый сервер и проверка работы.
- Советы по безопасности, совместимости и сценарии приёмки.
Краткое определение
Node.js — это кроссплатформенная среда выполнения JavaScript на движке V8 от Chrome, оптимизированная для событийно-ориентированных и неблокирующих сетевых приложений. NPM — менеджер пакетов по умолчанию для Node.js.
Предварительные требования
- Доступ к машине с Debian 11. Можно по SSH или локально через Terminal.
- Наличие не-root пользователя с правами sudo.
- Базовые навыки работы в shell.
Обновите систему
Сначала убедитесь, что система актуальна и установлены инструменты для сборки:
sudo apt updatesudo apt upgrade -ysudo apt install build-essential -yВывод команды должен выглядеть примерно так:


Установка Node.js на Debian 11
Установка через NodeSource PPA
Пакеты в официальных репозиториях Debian иногда отстают по версиям. NodeSource поддерживает PPA с актуальными релизами Node.js. Этот вариант удобен, если нужен системный пакет, который управляется через apt.
Переходим в домашний каталог и добавляем установочный скрипт NodeSource:
cdcurl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -Вывод при добавлении PPA может выглядеть так:

После этого обновите списки пакетов и установите nodejs:
sudo apt-get updatesudo apt install nodejs -yПример вывода установки:

Команда одновременно установит npm. По умолчанию двоичные файлы попадут в /usr/bin. Проверьте версии:
node -vnpm -vПример вывода версий:

Важно: этот метод прост и подходит для серверов, где нужна одна глобальная версия Node.js.
Установка через NVM (Node Version Manager)
NVM позволяет устанавливать и переключаться между несколькими версиями Node.js. Полезно для локальной разработки и для проектов с разными требованиями к версии.
Скачайте и установите NVM (пример для v0.38.0 — при необходимости используйте последнюю версию с репозитория проекта):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bashПример вывода установки NVM:

После установки перезапустите shell или выполните source ~/.bashrc (или соответствующий файл при использовании zsh). Проверьте версию nvm:
nvm --version
Список доступных версий Node.js из удалённого репозитория:
nvm list-remote
Установите нужную версию, например v16.7.0:
nvm install v16.7.0
Просмотр установленных версий:
nvm ls
Активация выбранной версии:
nvm use 16.6.2
NVM хранит версии в домашнем каталоге пользователя. Этот подход безопасен для многопользовательских систем и удобен для разработчиков.
Тестирование сервера на Node.js
Создайте файл server.js в каталоге проекта:
sudo nano server.jsВставьте следующий код без изменений:
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World, howtoforge');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});Запустите сервер:
node server.jsОткройте в браузере http://your_server_ip:3000 (или http://localhost:3000) и проверьте, что отображается строка «Hello World, howtoforge».
Когда какой метод выбирать
- NodeSource PPA: используйте для продакшн-серверов, где нужна одна системная версия, управляемая apt.
- NVM: используйте для локальной разработки или если нужно переключаться между версиями для разных проектов.
Важно: не смешивайте системную установку и nvm для одного пользователя без понимания путей PATH — это может привести к неожиданным версиям node/npm.
Рекомендации по безопасности
- Запускайте Node.js приложения от отдельного непользовательского системного аккаунта (например, nodeapp) с минимальными правами.
- Используйте systemd для управления процессом и автоматического рестарта.
- Размещайте приложение за обратным прокси (nginx), чтобы обработать TLS, логирование и rate-limiting.
- Ограничьте брандмауэром доступ к внутренним портам (например, доступ к 3000 только локально).
- Регулярно обновляйте зависимости:
npm auditиnpm audit fix.
Минимальная методология выбора версии Node.js
- Проверьте требования проекта (package.json, CI/CD).
- Если требуется LTS — выбирайте последнюю LTS-ветку.
- Для новых фич можно тестировать текущую стабильную ветку.
- Тестируйте приложение на выбранной версии локально и в staging перед релизом.
Критерии приёмки
- Сервер запускается без ошибок:
node server.jsвозвращает лог запуска. - Веб-страница по адресу / на порту 3000 возвращает статус 200 и ожидаемый текст.
- Версия Node.js соответствует требуемой (проверка
node -v). - CI-прогон тестов проходит на той же версии Node.js, что указана в документации проекта.
Тесты и приёмо-сдаточные сценарии
- Функциональный: GET / → 200 и тело ответа содержит «Hello World».
- Нагрузочный (локально): 1000 запросов/мин — приложение остаётся доступным.
- Регрессионный: после обновления пакетов npm тесты проходят без ошибок.
Роль‑ориентированные чек-листы
- Разработчик: установить NVM, настроить локальную версию, проверить npm install, запустить unit-тесты.
- Системный администратор: установить через NodeSource, настроить systemd unit, настроить брандмауэр и обратный прокси.
- DevOps: прописать версию Node.js в CI, обеспечить консистентность окружений (Docker image с той же версией).
Совместимость и миграция
- При переходе между мажорными версиями (например, 14 → 16) проверьте breaking changes в changelog Node.js и используемых npm-пакетах.
- Перед миграцией выполните
npm outdatedиnpm testв staging.
Факты и подсказки
- NPM поставляется вместе с Node.js.
- LTS версии рекомендуются для продакшна.
- NVM хранит версии в ~/.nvm и не трогает системные пути.
Контрольный план отката
Если после обновления Node.js приложение перестало работать:
- Откатитесь на предыдущую версию (nvm use
или переустановите пакет через apt). - Восстановите состояние зависимостей из lock-файла (package-lock.json).
- Просмотрите логи systemd и приложения.
Частые ошибки и способы решения
- “node: command not found” — проверьте PATH; если устанавливали через nvm, убедитесь, что nvm загружен в текущую сессию.
- Несовместимость пакетов после обновления — откатите версию Node или обновите пакеты с тестами.
Словарь (одна строка)
- Node.js — среда выполнения JavaScript вне браузера.
- NPM — менеджер пакетов для Node.js.
- NVM — менеджер версий Node.js для локального пользователя.
Заключение
Вы успешно узнали, как установить Node.js на Debian 11 двумя распространёнными способами, как запустить простой сервер и как выбрать подходящий метод установки в зависимости от задачи. Для продакшна часто выбирают установку через NodeSource и systemd; для разработки удобнее NVM. Следуйте критериям приёмки и применяйте рекомендации по безопасности.
Важно: если остались вопросы, опишите свою среду (Debian 11, способ установки, версия Node.js) — это поможет дать точный совет.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента