Node.js — это среда выполнения JavaScript на сервере, построенная на движке V8 от Google. Она используется для разработки веб-приложений, API, микросервисов и инструментов командной строки. Благодаря событийно-ориентированной, неблокирующей модели ввода-вывода, Node.js эффективно обрабатывает большое количество одновременных соединений.
💡 Если вы разрабатываете веб-приложения на JavaScript (React, Vue, Angular, Express, Next.js) или создаёте серверные API — Node.js предоставит среду выполнения и менеджер пакетов npm для управления зависимостями.
В этом руководстве мы установим Node.js на Rocky Linux 8, 9 и 10. Вы узнаете:
- Как установить Node.js через DNF AppStream (рекомендованный способ)
- Как установить свежие версии через репозиторий NodeSource
- Как установить NVM для управления несколькими версиями Node.js
- Как работать с npm и решать типичные проблемы
Для кого: веб-разработчики (фронтенд и бэкенд на JavaScript), DevOps (автоматизация сборки), сисадмины (развёртывание Node.js-приложений), новички (начало работы с JavaScript на сервере).
1. Выбор метода установки
Rocky Linux предлагает несколько способов установки Node.js. Выберите подходящий для ваших задач.
| Метод | Канал | Версия | Обновления | Для кого |
|---|---|---|---|---|
| DNF AppStream | Стандартные репозитории Rocky | v22 (Rocky 10), модули 18/20/22/24 (Rocky 8/9) | Автоматические через dnf upgrade | Продакшен-серверы, нужна стабильность |
| NodeSource RPM | Репозиторий NodeSource | Последние LTS или текущие | Автоматические через dnf upgrade | Разработчики, нужны более свежие версии |
| NVM (Node Version Manager) | GitHub NVM | Любая версия Node.js | Ручное обновление через nvm install | Разработчики, работающие с разными версиями |
💡 Вывод для новичка: Для продакшен-серверов рекомендуется DNF AppStream — стабильные, протестированные пакеты с обновлениями безопасности. NodeSource подходит, если нужна конкретная версия, отсутствующая в AppStream. NVM — для разработчиков, которые часто переключаются между версиями Node.js.
2. Подготовка системы
2.1 Обновление системы
sudo dnf upgrade --refresh -y
Что делает:
sudo— права суперпользователя.dnf upgrade— обновляет все пакеты до последних версий.--refresh— принудительно перекачивает метаданные репозиториев (игнорирует кэш).-y— автоматически отвечает «yes».
Зачем: Это стандартная практика безопасности перед установкой нового ПО. Снижает риск конфликтов зависимостей.
2.2 Установка dnf-plugins-core (если ещё не установлен)
sudo dnf install -y dnf-plugins-core
Что делает: Устанавливает набор плагинов для DNF, включая команду config-manager.
Зачем: Понадобится для управления модулями Node.js на Rocky 8/9.
3. Метод 1: Установка Node.js через DNF AppStream
3.1 Установка на Rocky Linux 10
Rocky Linux 10 отказался от модульной системы, поэтому Node.js устанавливается напрямую. Версия по умолчанию — Node.js 22 (поддержка до апреля 2027).
sudo dnf install -y nodejs
Что делает: Устанавливает Node.js и npm (npm подтягивается как слабая зависимость).
Проверка:
node --version
npm --version
✅ Ожидаемый вывод:
v22.19.0
10.9.3
3.2 Установка на Rocky Linux 8 и 9
Rocky Linux 8 и 9 используют модули DNF для предоставления нескольких версий Node.js.
Список доступных модулей:
dnf module list nodejs
✅ Ожидаемый вывод для Rocky 9:
Rocky Linux 9 - AppStream
Name Stream Profiles Summary
nodejs 18 common [d], development, minimal, s2i Javascript runtime
nodejs 20 common [d], development, minimal, s2i Javascript runtime
nodejs 22 common [d], development, minimal, s2i Javascript runtime
nodejs 24 common [d], development, minimal, s2i Javascript runtime
Выбор версии Node.js:
| Версия | Кодовое имя | LTS статус | Окончание поддержки |
|---|---|---|---|
| Node.js 20 | Iron | Maintenance LTS | Апрель 2026 |
| Node.js 22 | Jod | Maintenance LTS | Апрель 2027 |
| Node.js 24 | Krypton | Active LTS | Апрель 2028 |
💡 Рекомендация: Для новых проектов выбирайте Node.js 24.
Включение модуля и установка (пример для Node.js 24):
sudo dnf module enable nodejs:24 -y
sudo dnf install -y nodejs npm
Проверка:
node --version
npm --version
✅ Ожидаемый вывод:
v24.11.1
11.6.2
4. Метод 2: Установка Node.js через NodeSource RPM
NodeSource предоставляет свежие версии Node.js, которые могут отсутствовать в AppStream.
4.1 Установка curl (если отсутствует)
Для Rocky 8 и 10:
sudo dnf install -y curl
Для Rocky 9 minimal:
sudo dnf install -y curl-minimal
4.2 Добавление репозитория NodeSource
Выберите нужную версию:
Node.js 24.x (рекомендуется):
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
Node.js 22.x:
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
Node.js 20.x:
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
Что делает: Скрипт добавляет репозиторий NodeSource в /etc/yum.repos.d/ и импортирует GPG-ключ.
4.3 Установка Node.js
sudo dnf install -y nodejs
4.4 Проверка установки
node --version
npm --version
✅ Ожидаемый вывод:
v24.12.0
11.6.2
5. Метод 3: Установка Node.js через NVM (Node Version Manager)
NVM позволяет управлять несколькими версиями Node.js в домашней директории и переключаться между ними.
5.1 Установка NVM
Установка curl (если отсутствует):
Для Rocky 8 и 10:
sudo dnf install -y curl
Для Rocky 9 minimal:
sudo dnf install -y curl-minimal
Создание профиля shell (если отсутствует):
touch ~/.bashrc
Установка NVM (автоматическое определение последней версии):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$(curl -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | grep -oE '"tag_name": "[^"]+"' | head -n 1 | cut -d'"' -f4)/install.sh | bash
Активация NVM в текущей сессии:
source ~/.bashrc
Проверка:
nvm --version
✅ Ожидаемый вывод:
0.40.3
5.2 Список доступных версий Node.js
Только LTS версии:
nvm ls-remote --lts
Все версии:
nvm ls-remote
5.3 Установка Node.js
Установка последней LTS версии:
nvm install --lts
Установка конкретной версии (например, 22.21.1):
nvm install 22.21.1
5.4 Переключение между версиями
Активация версии:
nvm use 22.21.1
Установка версии по умолчанию:
nvm alias default 22.21.1
Список установленных версий:
nvm ls
6. Работа с npm
6.1 Установка глобальных пакетов без sudo
По умолчанию npm пытается писать в системные директории. Чтобы избежать ошибок прав доступа, настройте пользовательскую директорию:
mkdir -p ~/.npm-global
npm config set prefix "$HOME/.npm-global"
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Проверка:
npm config get prefix
✅ Ожидаемый вывод:
/home/user/.npm-global
6.2 Установка глобального пакета (пример: pm2)
npm install -g pm2
6.3 Установка локальных зависимостей проекта
cd ~/my-project
npm init -y
npm install express
7. Диагностика проблем
7.1 Ошибка: «npm: command not found» на Rocky 8/9
Причина: npm устанавливается отдельно от Node.js.
Решение:
sudo dnf install -y npm
7.2 Конфликт модулей на Rocky 8/9
Ошибка: При попытке включить другой модуль Node.js.
Решение:
sudo dnf module reset nodejs -y
sudo dnf module enable nodejs:24 -y
sudo dnf install -y nodejs npm
7.3 Ошибка прав доступа npm (EACCES)
Решение: Настройте пользовательскую директорию (см. раздел 6.1) или временно используйте sudo (не рекомендуется).
7.4 Команда node не найдена после установки NVM
Причина: NVM не загрузился в текущую сессию.
Решение:
source ~/.bashrc
nvm use --lts
8. Удаление Node.js
8.1 Удаление DNF-установки
Rocky Linux 10:
sudo dnf remove nodejs nodejs-npm -y
Rocky Linux 8/9:
sudo dnf remove nodejs npm -y
NodeSource (любая версия):
sudo dnf remove nodejs -y
Очистка зависимостей:
sudo dnf autoremove -y
Удаление репозитория NodeSource (если использовали):
sudo rm /etc/yum.repos.d/nodesource*.repo
sudo dnf clean all
8.2 Удаление NVM и всех версий Node.js
nvm deactivate
nvm uninstall 24.12.0 # замените на вашу версию
rm -rf ~/.nvm
Удаление строк NVM из ~/.bashrc: отредактируйте файл и удалите строки с NVM_DIR, nvm.sh и bash_completion.
8.3 Проверка удаления
node --version
✅ Ожидаемый вывод:
bash: node: command not found
Чек-лист: всё готово к работе
# 1. Проверка версии Node.js
node --version
# 2. Проверка версии npm
npm --version
# 3. Проверка, какой Node.js используется (для NVM)
command -v node
# 4. Проверка глобальной директории npm
npm config get prefix
# 5. Тест: установка и запуск простого HTTP-сервера
echo "console.log('Node.js works!');" > test.js && node test.js && rm test.js
Заключение
Вы установили Node.js на Rocky Linux через DNF AppStream, NodeSource или NVM.
Что теперь есть в системе:
- ✅ Среда выполнения Node.js
- ✅ Менеджер пакетов npm
- ✅ (При использовании NVM) возможность переключаться между версиями
Что дальше:
- Создайте свой первый проект:
npm initи установите Express - Изучите работу с асинхронным кодом (async/await, промисы)
- Настройте менеджер процессов (pm2) для production-окружения
- Для веб-разработки установите фреймворки: Next.js, Nest.js, Fastify