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

Управление версиями Node.js с помощью NVM

5 min read Разработка Обновлено 23 Apr 2026
NVM: управление версиями Node.js в Linux
NVM: управление версиями Node.js в Linux

Иллюстрация: управление версиями Node.js с помощью NVM

Что такое Node.js?

Node.js — это кроссплатформенная среда выполнения JavaScript на движке V8 от Google Chrome. Она позволяет запускать JavaScript вне браузера, что делает возможной разработку серверных и полнофункциональных приложений на JavaScript. Часто используемые серверные фреймворки: Express.js, Nest.js, Hapi.js и другие. На фронтенде Node.js широко применяется в инструментах сборки и пакетном менеджменте (например, для проектов на React и Angular).

Короткое определение: Node.js — среда выполнения JavaScript вне браузера.

Зачем нужен NVM?

NVM решает простую, но частую проблему: разные проекты могут требовать разные версии Node.js. NVM позволяет:

  • Устанавливать несколько версий Node.js параллельно.
  • Быстро переключаться на нужную версию.
  • Устанавливать LTS или конкретные версии по запросу.

Важно: NVM управляет версиями в пользовательском окружении (не системно), поэтому разные пользователи на одной машине могут иметь разные наборы версий.

Установка NVM в Linux

Откройте терминал и выполните команду установки (официальный инсталлятор):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

Эта команда скачает и запустит скрипт установки NVM. Скрипт также добавит объявления и загрузку NVM в ваш профиль оболочки (например, ~/.bashrc, ~/.zshrc или ~/.profile) — точное имя файла зависит от дистрибутива и используемой оболочки.

Если в выводе установки виден путь, добавленный в файл профиля, откройте или перезапустите терминал, чтобы изменения вступили в силу.

Вывод установки nvm с указанием файла профиля

Если профиль не обновился автоматически, добавьте в конец своего профиля (например, ~/.bashrc) строки загрузки NVM вручную:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

После правки выполните source ~/.bashrc или откройте новый терминал.

Проверка установки

Закройте текущий терминал и откройте новый (или используйте сочетание Ctrl + Alt + T). Затем выполните:

command -v nvm

Если NVM доступен, команда вернёт nvm.

Пример вывода подтверждения установки nvm

Чтобы посмотреть версию NVM:

nvm -v

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

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

nvm install node

Установка конкретной версии:

nvm install 14.15.4

Установка LTS-версии (рекомендуется для продакшена):

nvm install --lts

Если вы выполнили несколько команд установки, то на машине могут одновременно находиться разные версии Node.js.

Быстрое использование .nvmrc в проекте

В проекте можно хранить файл .nvmrc, в котором указана желаемая версия, например:

14.15.4

Рекомендуемый поток действий при подключении к проекту:

  • Откройте репозиторий.
  • Проверьте .nvmrc.
  • Установите или переключитесь на нужную версию:
nvm install 14.15.4
nvm use 14.15.4

Можно также добавить в README проекта короткую инструкцию для разработчиков с командой из двух строк.

Выбор версии Node.js для использования

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

nvm use 14.15.4

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

nvm ls

Список всех доступных для установки версий (удалённый):

nvm ls-remote

Пример вывода показывает активную версию и версии, установленные локально.

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

Дополнительно вы можете задать дефолтную версию для новых сессий:

nvm alias default 14.15.4

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

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

nvm uninstall v14.15.4

(Иногда требуется указывать v перед номером версии.)

Получение помощи

Просмотреть справку по командам NVM:

nvm -h

Официальная документация и репозиторий NVM на GitHub содержат подробные инструкции и дополнительные команды.

Когда NVM не подходит

NVM отлично подходит для разработки, но бывают случаи, когда он не идеален:

  • Автоматизированные CI/CD-сборки, где предпочитают контейнеры с фиксированной системой, например Docker.
  • Сценарии, когда нужно системное управление пакетами на уровне всего сервера (используются пакетные менеджеры дистрибутива).
  • Среды, где отсутствует поддержка bash-совместимой оболочки или где админы запрещают пользовательские изменения окружения.

Если ваша инфраструктура требует системного управления версиями, рассмотрите другие варианты ниже.

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

Если NVM не подходит, подумайте об альтернативных решениях:

  • n — простая альтернатива для переключения версий Node.js.
  • asdf — универсальный менеджер версий для множества языков (плагины для Node.js существуют).
  • Docker — контейнеры гарантируют одинаковое окружение в разработке и продакшене.
  • Пакеты дистрибутива (apt, yum) — для системных установок в строгих серверах.

Каждое решение имеет свои компромиссы: простота, изоляция, совместимость с CI/CD.

Руководства по ролям

Developer checklist

  • Добавьте .nvmrc с требуемой версией в корень репозитория.
  • В README: одна-две команды для быстрой настройки (nvm install && nvm use или две команды как выше).
  • Перед коммитом убедитесь, что локальная версия Node совпадает с .nvmrc.

Sysadmin checklist

  • Для CI/CD используйте образы Docker с предустановленной версией Node.
  • Не полагайтесь на глобальные установки NVM в системных скриптах — используйте контейнеры или системные пакеты.
  • Документируйте политику безопасности: кто и как может менять версии в продакшене.

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

  • Команда command -v nvm возвращает nvm.
  • nvm -v показывает версию менеджера.
  • nvm install 14.15.4 завершилось без ошибок, и node -v в этой сессии возвращает v14.15.4.
  • При наличии .nvmrc команда установки и переключения описана в README проекта.

Тесты и контроль качества

Минимальные тесты для проверки рабочего окружения:

  • Установка NVM на чистую систему пользователя и проверка nvm -v.
  • Установка указанной версии Node и запуск node -e "console.log('ok')".
  • Переключение между версиями и выполнение тестов проекта.

Советы по безопасности и совместимости

  • Всегда проверяйте URL установки перед запуском скриптов как curl | bash.
  • Не запускайте установочные скрипты от root без необходимости.
  • Для продакшена предпочтите контейнеры или системные пакеты, если нужна строгая контрольная среда.

Краткая справка (глоссарий)

  • NVM: менеджер версий Node.js.
  • LTS: Long Term Support — версия с долгой поддержкой.
  • .nvmrc: файл в корне проекта, где можно указать желаемую версию Node.

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

Q: Нужно ли устанавливать NVM глобально для всех пользователей?

A: NVM ориентирован на пользовательское окружение. Для всех пользователей можно установить его для каждого пользователя отдельно или использовать системные решения (контейнеры, пакеты).

Q: Помогает ли NVM с совместимостью зависимостей проекта?

A: NVM управляет только версией Node.js. Для управления зависимостями используйте package-lock.json или yarn.lock.

Итог

NVM — простой и мощный инструмент для локального управления версиями Node.js. Он особенно полезен при работе с несколькими проектами, требующими разных версий Node. Если ваша инфраструктура предполагает контейнеризацию или административные ограничения, рассмотрите альтернативы (Docker, asdf, n). Для командных проектов заведите .nvmrc и короткую инструкцию в README — это значительно упростит онбординг новых участников.

Important: проверьте ваши политики безопасности перед выполнением установочных скриптов.

Поделиться: 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 быстро