Как установить Node.js и npm на Ubuntu

Node.js — это кроссплатформенная среда выполнения JavaScript с открытым исходным кодом. Node.js работает на движке V8 от Chrome и позволяет запускать JavaScript вне браузера — на вашем сервере или локальной машине с Ubuntu. Npm (Node Package Manager) — стандартный менеджер пакетов для Node.js и содержит огромный реестр пакетов.
В этом руководстве показаны три проверенных способа установки Node.js и npm на Ubuntu: через репозиторий NodeSource, через nvm и через PPA (скрипт NodeSource). Для каждой опции приводятся команды, проверки установки, советы по выбору версии и рекомендации по безопасности.
Когда что выбрать
- apt (из стандартных репозиториев Ubuntu) — самый простой путь, но версии могут быть устаревшими.
- NodeSource / PPA — хорошие репозитории для более свежих версий, удобны при развёртывании на серверах.
- nvm — лучший выбор для разработчиков, которым нужно переключаться между версиями Node.js для разных проектов.
Важное: для выполнения команд требуется доступ пользователя с правами sudo.
Вариант 1 — установка из репозитория NodeSource (пример для setup_12.x)
NodeSource поддерживает пакеты Node.js для разных версий и предоставляет удобные скрипты для настройки репозитория. Ниже — шаги для включения репозитория, установки nodejs и проверки версий.
Установка curl (если не установлен)
sudo apt-get update
sudo apt-get install curl -yВключение репозитория NodeSource (пример для Node.js 12)
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -Команда добавит GPG-подпись и создаст файл источника пакетов для apt. После этого установите пакеты и обновите кэш apt автоматически (скрипт делает это за вас).
Установка Node.js и npm
sudo apt install nodejs -yПакет nodejs содержит бинарники для node и npm.
Проверка установки
node --version
npm --versionВ примере, приведённом в исходном руководстве, версия Node.js показывает v12.22.4, а npm — 6.14.14 (пример выводов, версии зависят от выбранного setup_X.x).
Важно: если вам нужна более свежая версия, используйте другой setup_X.x (например, setup_16.x) либо применяйте nvm.
Вариант 2 — установка и управление версиями с помощью nvm
NVM (Node Version Manager) — это скрипт для управления версиями Node.js в пользовательском каталоге. Он не трогает системные пакеты и позволяет устанавливать и переключаться между множеством версий.
Преимущества nvm:
- Можно хранить разные версии для разных проектов.
- Установка локальна для пользователя, без изменения системных пакетов.
- Простая смена активной версии.
Установка nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bashПосле установки откройте новый терминал или загрузите конфигурацию оболочки:
source ~/.bashrcПросмотр доступных версий и установка
Список доступных версий:
nvm list-remoteПример установки конкретной версии:
nvm install v16.6.2После установки можно увидеть список установленных версий:
nvm listДля установки LTS-алиаса, например fermium, выполните:
nvm install lts/fermiumПроверка текущей активной версии:
node -vСовет: используйте файл .nvmrc в корне проекта, чтобы фиксировать нужную версию для команды и CI.
Вариант 3 — установка через NodeSource PPA (скрипт для setup_16.x)
Это вариант похож на Вариант 1, но с явно сохранённым скриптом в домашней папке и ручной проверкой перед запуском.
Скачивание скрипта в домашнюю директорию
cd ~
curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.shПросмотр скрипта в редакторе (опционально)
nano nodesource_setup.shЕсли всё устраивает, выполните скрипт как root:
sudo bash nodesource_setup.shПосле этого установите nodejs:
sudo apt install nodejs -yПроверка:
node -vЭтот путь комбинирует простоту apt и обновлённость версий NodeSource.
Общие рекомендации по установке
- Для серверов и развёртывания: предпочитайте системные пакеты из NodeSource/PPA, чтобы гарантировать стабильность и предсказуемые версии.
- Для разработки: используйте nvm, чтобы легко переключаться между версиями.
- Если ставите на CI/CD, закрепляйте версии Node и npm в конфигурации пайплайна.
- Убедитесь, что npm и node в PATH после установки (иногда требуется перезагрузка терминала).
Критерии приёмки
- node –version и npm –version возвращают ожидаемые версии.
- В проекте корректно запускается npm install и сборка/запуск проекта.
- На сервере сервисы, зависящие от Node, стартуют без ошибок при systemd/upstart.
Что делать, если установка не прошла
- Если команда node не найдена: проверьте, где установлен бинарник (which node) и PATH.
- Конфликты версий: удалите системный пакет nodejs (sudo apt remove nodejs) перед установкой через nvm, если нужно.
- Ошибки прав на ~/.nvm: проверьте владельца и права (chown/chmod) или переустановите nvm от имени пользователя.
Примеры альтернатив и когда они уместны
- Docker: если хотите изолировать окружение без изменения системы, используйте официальный образ node в Docker. Подходит для CI и контейнеризованных приложений.
- Snap: кратковременная альтернатива, но не всегда рекомендуемая для production-серверов.
- Инструменты управления конфигурацией (Ansible, Chef): автоматизация установки на множестве серверов через NodeSource/PPA или apt.
Ментальные модели и эвристики
- «Локально для разработки — nvm; глобально для сервера — PPA/apt»: это простое правило помогает избежать конфликтов.
- «Если нужна стабильность на сервере — фиксируй версии, если нужна гибкость в разработке — переключайся»: определяет выбор инструмента.
Чек-лист для ролей
- Разработчик:
- Установить nvm и нужную версию через .nvmrc.
- Проверить npm install и запуск тестов.
- Девопс/Инженер эксплуатационной поддержки:
- Установить Node.js через NodeSource/PPA на серверах.
- Обновить systemd-сервисы и проверить автостарт.
- QA:
- Проверить сборку и запуск э2е тестов на целевой версии node.
Безопасность и харднинг
- Запускайте приложения Node с непривилегированного пользователя.
- Ограничьте доступ к папкам с исходным кодом и node_modules.
- Используйте проверку зависимостей (npm audit) и обновляйте уязвимые пакеты.
- На production включайте логирование и мониторинг (например, pm2, systemd + journald).
Совместимость и миграция
- Перед обновлением Node проверяйте поддержку минимальной версии в зависимостях проекта.
- Используйте transpilation (Babel) или polyfills, если проект должен поддерживать старые версии Node.
- Выполняйте миграцию в тестовой среде и запускайте полный набор модульных и интеграционных тестов.
Тестовые случаи для проверки установки
- Установка и проверка команд:
- node –version → ожидаемая версия
- npm –version → версия npm
- Запуск простого скрипта server.js: node server.js → слушает порт
- npm install → завершение без ошибок и наличие node_modules
Короткое объявление (для рассылки или чата, 100–200 слов)
Установить Node.js и npm на Ubuntu можно тремя простыми способами: через apt/репозитории NodeSource для стабильных и свежих релизов, через nvm для гибкого управления версиями, и через скриптовый PPA для ручной проверки. Для разработчиков рекомендован nvm, для серверов — NodeSource/PPA. В статье приведены пошаговые команды, проверки установки, советы по безопасности и чек-листы для разных ролей. Следуйте критериям приёмки и тестовым случаям, чтобы убедиться, что ваше окружение готово к разработке или продакшену.
Итог
- Выбор метода зависит от целей: простота (apt), стабильные новые релизы (NodeSource/PPA), гибкость версий (nvm).
- Всегда проверяйте node –version и npm –version после установки.
- Для production используйте системные репозитории, для разработки — nvm и .nvmrc.
Заметка: процесс работал на Ubuntu 21.04 в исходном руководстве, но приведённые шаги обычно применимы к большинству современных версий Ubuntu. Если устанавливаете на другую платформу (Windows, macOS), используйте соответствующие установщики или менеджеры пакетов.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone