Гид по технологиям

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

• 5 min read • DevOps • Обновлено 24 Nov 2025
Установка Node.js на Debian 11
Установка Node.js на Debian 11

Схематичное изображение логотипа Node.js и кода на экране

О чём статья

  • Что такое 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 update
sudo apt upgrade -y
sudo apt install build-essential -y

Вывод команды должен выглядеть примерно так:

Пример вывода обновления пакетов на Ubuntu/Debian

Установка build-essential и обновления пакетов

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

Установка через NodeSource PPA

Пакеты в официальных репозиториях Debian иногда отстают по версиям. NodeSource поддерживает PPA с актуальными релизами Node.js. Этот вариант удобен, если нужен системный пакет, который управляется через apt.

Переходим в домашний каталог и добавляем установочный скрипт NodeSource:

cd
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -

Вывод при добавлении PPA может выглядеть так:

Вывод скрипта добавления репозитория NodeSource

После этого обновите списки пакетов и установите nodejs:

sudo apt-get update
sudo apt install nodejs -y

Пример вывода установки:

Установка Node.js через apt на Ubuntu/Debian

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

node -v
npm -v

Пример вывода версий:

Результаты проверки версии Node.js и NPM

Важно: этот метод прост и подходит для серверов, где нужна одна глобальная версия 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:

Вывод установки NVM в терминале

После установки перезапустите shell или выполните source ~/.bashrc (или соответствующий файл при использовании zsh). Проверьте версию nvm:

nvm --version

Проверка версии NVM

Список доступных версий Node.js из удалённого репозитория:

nvm list-remote

Список доступных версий Node.js через nvm

Установите нужную версию, например v16.7.0:

nvm install v16.7.0

Установка конкретной версии Node.js через nvm

Просмотр установленных версий:

nvm ls

Список локально установленных версий Node.js

Активация выбранной версии:

nvm use 16.6.2

Активация версии Node.js через nvm

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

  1. Проверьте требования проекта (package.json, CI/CD).
  2. Если требуется LTS — выбирайте последнюю LTS-ветку.
  3. Для новых фич можно тестировать текущую стабильную ветку.
  4. Тестируйте приложение на выбранной версии локально и в 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 приложение перестало работать:

  1. Откатитесь на предыдущую версию (nvm use или переустановите пакет через apt).
  2. Восстановите состояние зависимостей из lock-файла (package-lock.json).
  3. Просмотрите логи 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) — это поможет дать точный совет.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро