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

NVM: установка и управление версиями Node.js

• 5 min read • DevOps • Обновлено 26 Nov 2025
NVM: установка и управление версиями Node.js
NVM: установка и управление версиями Node.js

Логотип NVM и пример использования в терминале

NVM (Node Version Manager) — это простая POSIX-совместимая bash-утилита для установки и управления несколькими версиями Node.js в одной системе. Она полезна разработчикам, тестировщикам и администраторам, которым нужно запускать разные проекты на разных версиях Node.

Краткие определения:

  • NVM: менеджер версий Node.js, реализованный как bash-скрипт.
  • LTS: долгосрочная поддержка (Long Term Support).

Основные преимущества

  • Лёгкая установка и удаление версий Node.js без системного пакетного менеджера.
  • Быстрое переключение между версиями для тестирования и разработки.
  • Поддержка алиасов и запуска скриптов под конкретной версией.

1. Подготовка и установка NVM

Перед установкой NVM установите необходимые инструменты сборки и библиотеки для вашей системы.

Для Ubuntu выполните:

sudo apt install build-essential libssl-dev -y

Для CentOS используйте:

sudo dnf group install "Development Tools" -y

Затем запустите официальный установщик (в статье используется v0.39.5 как пример):

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

Скриншот процесса установки NVM в терминале

После установки загрузите ваши настройки оболочки (пример для bash):

source ~/.bashrc

Проверьте установку:

nvm --version

Результат проверки версии nvm в терминале

Важно: если вы используете другую shell (zsh, fish), установщик добавит строку в соответствующий конфигурационный файл; при необходимости вручную проверьте ~/.profile, ~/.bash_profile или ~/.zshrc.

2. Просмотр доступных версий Node.js

Показывает локально установленные версии:

nvm ls

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

nvm ls-remote

Показывает только LTS-версии:

nvm ls-remote --lts

3. Установка версии Node.js

Установить последнюю доступную версию:

nvm install node

Установить LTS по алиасу (например, erbium):

nvm install lts/erbium

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

Установить конкретную версию по номеру:

nvm install v10.17.0

Установка конкретной версии Node.js в терминале

Совет: для новых проектов используйте актуальную LTS-версию; для поддержки старых проектов — фиксируйте точную версию в документации проекта.

4. Переключение между версиями Node.js

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

nvm ls

Просмотр установленных версий Node.js с помощью nvm

Переключитесь на нужную версию по номеру или по алиасу:

nvm use v12.13.0
nvm use lts/erbium

Смена активной версии Node.js в терминале

Замечание: переключение действует только в текущей оболочке. Откройте новую сессию, и будет активна та версия, которая установлена по умолчанию.

5. Алиасы для версий

Алиасы упрощают команду при переключениях. Создайте алиас:

nvm alias node10 v10.17.0

Пример создания алиаса для версии Node.js

Посмотреть все алиасы:

nvm alias

6. Удаление версии Node.js

Чтобы удалить конкретную версию или алиас, используйте:

nvm uninstall v6.17.1
nvm uninstall lts/carbon
nvm uninstall node10

Удаление версии Node.js через nvm

7. Запуск скрипта под указанной версией

Можно выполнить скрипт с конкретной версией без смены текущей сессии:

nvm run lts/erbium app.js
nvm run v12.13.0 app.js

Это удобно для однократного тестирования приложения под старой или экспериментальной версией Node.

Шпаргалка команд (Cheat Sheet)

  • Установить NVM: см. раздел 1.
  • Проверить версию nvm: nvm –version
  • Список локальных версий: nvm ls
  • Список удалённых/доступных: nvm ls-remote
  • Установить последнюю версию: nvm install node
  • Установить LTS: nvm install –lts или nvm install lts/
  • Использовать версию: nvm use <версия|алиас>
  • Удалить версию: nvm uninstall <версия|алиас>
  • Создать алиас: nvm alias <имя> <версия>
  • Запустить файл под версией: nvm run <версия> <файл.js>

Когда NVM может не подойти

  • Системные сервисы: если Node запускается как системная служба (systemd) от имени root, лучше устанавливать Node глобально через пакетный менеджер или nodedistro; nvm воздействует только на пользовательскую оболочку.
  • Массовые окружения CI: в CI/CD иногда удобнее использовать контейнеры с фиксированным образом Node или менеджеры, интегрированные в пайплайн.
  • Ограничения Windows: nvm.sh ориентирован на Unix-подобные системы; для Windows существуют сторонние порты и аналоги (см. альтернативы).

Альтернативы и сравнение

  • n (https://github.com/tj/n): простой менеджер версий Node на основе npm; быстрее в некоторых сценариях, но менее гибкий по алиасам.
  • Volta (https://getvolta.sh): инструмент, ориентированный на разработчиков, с фокусом на производительность и управление инструментами (node, yarn, npm) на уровне проекта.
  • Установка через пакеты дистрибутива или NodeSource: полезно для сервисов и системного использования.

Краткая таблица совместимости:

  • NVM: Linux, macOS, WSL. Ограниченно на Windows (нужны порты).
  • n: Linux, macOS.
  • Volta: Linux, macOS, Windows.

Советы по миграции и совместимости

  • Зафиксируйте версию Node в package.json через engines и README проекта.
  • Для CI используйте контейнеры с нужной версией Node или настройку менеджера версий на этапе сборки.
  • При переходе между менеджерами протестируйте сборку npm/yarn и установку нативных модулей (node-gyp).

Роли и контрольный список

Developer

  • Установить nvm в локальном профиле.
  • Зафиксировать версию в package.json.
  • Создать алиасы для часто используемых версий.

DevOps

  • Для сервисов не использовать nvm для системного Node.
  • Подготовить контейнеры/artefacts с нужной версией Node.
  • Обновлять LTS в тестовом окружении перед продом.

QA

  • Тестировать приложение минимум на LTS и на версии, используемой в проде.
  • Использовать nvm run для параллельной проверки.

Администратор системы

  • Обеспечить наличие инструментов сборки (build-essential, libssl-dev).
  • Проверять влияние обновлений Node на сервисы и зависимости.

Краткая методология выбора версии

  1. Для новых проектов — берите последнюю LTS.
  2. Для существующих — используйте версию, указанную в package.json.
  3. Для тестов — запускайте на текущем LTS и на следующей старой LTS для совместимости.

Фактбокс

  • Пример установщика в статье использует nvm v0.39.5.
  • NVM реализован как shell-скрипт и работает в пользовательской среде (не system-wide).

Критерии приёмки

  • NVM должен корректно возвращать nvm –version.
  • Установленные версии должны корректно выполняться через nvm use и nvm run.
  • Для служб, запускаемых systemd, Node должен быть доступен вне зависимостей nvm.

Безопасность и конфиденциальность

NVM скачивает установочные скрипты из репозитория nvm-sh на GitHub. Перед выполнением установщика проверяйте URL и при необходимости просматривайте содержимое скрипта. Не запускайте непроверенные скрипты под привилегиями root.

Часто задаваемые вопросы

Как проверить текущую активную версию Node?

Выполните команду:

node -v

Или используйте nvm ls для списка и указания текущей активной версии.

Как сделать версию по умолчанию?

Установите алиас default:

nvm alias default v14.17.0

Работает ли nvm с Yarn?

Да. Yarn будет использовать активную в текущей оболочке версию Node. Установите yarn глобально под нужной версией, если требуется.

Можно ли использовать nvm в CI?

Да, но чаще в CI предпочтительнее применять Docker-образы с нужной версией Node или предварительно установить Node на runner. NVM можно установить как шаг пайплайна, если это приемлемо по времени.

Ресурсы


Сводка:

  • NVM упрощает управление несколькими версиями Node на рабочей станции.
  • Используйте nvm для локальной разработки и тестирования; для системных сервисов применяйте системную установку или контейнеры.
  • В статье приведена шпаргалка команд, рекомендации по ролям и альтернативы.
Поделиться: 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 быстро