← Ко всем open source проектам

nvm

nvm-sh/nvm

nvm — POSIX-совместимый менеджер версий Node.js для установки, переключения и закрепления разных версий Node в окружении командной оболочки.

Форки 10,223
Автор nvm-sh
Язык Shell
Лицензия MIT
Обновлено 2026-06-09

Что это такое

nvm решает постоянную проблему JavaScript-разработки: разные проекты требуют разные версии Node.js. Старый сервис может жить на Node 18, новый инструмент просить Node 22, а эксперимент уже проверяться на Node 24.

nvm устанавливается в пользовательское окружение командной оболочки и вызывается из командной строки. Он работает в POSIX-совместимых оболочках вроде bash и zsh на Unix, macOS и Windows через WSL.

Что внутри и как используют

Внутри — скрипты командной оболочки, установщик, тесты, документация по профилям, зеркалам, завершению команд, Docker и устранению проблем. Это слой управления PATH и версиями Node.

Переключение версии Node

Пример показывает обычный цикл: установить версию, переключиться и проверить результат.

Язык: Bash
nvm install 24
nvm use 24
node -v

# в проекте с .nvmrc
nvm use

Типовой сценарий: зайти в проект, выполнить `nvm use`, получить нужную версию Node, установить зависимости и не ломать другие проекты. Файл `.nvmrc` помогает команде явно закрепить версию.

Сильные стороны и ограничения

Сильная сторона — простота и привычность. nvm не требует глобально менять систему и хорошо вписывается в ежедневную разработку.

Ограничение — зависимость от профиля командной оболочки. Если `.zshrc` или `.bashrc` настроены странно, nvm может не загрузиться. На Windows без WSL нужен другой менеджер.