Управление версиями 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) — точное имя файла зависит от дистрибутива и используемой оболочки.
Если в выводе установки виден путь, добавленный в файл профиля, откройте или перезапустите терминал, чтобы изменения вступили в силу.

Если профиль не обновился автоматически, добавьте в конец своего профиля (например, ~/.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 -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Пример вывода показывает активную версию и версии, установленные локально.

Дополнительно вы можете задать дефолтную версию для новых сессий:
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: проверьте ваши политики безопасности перед выполнением установочных скриптов.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента