Об этом проекте
# Менеджер версий Node.js (nvm)
Менеджер версий для [Node.js](https://nodejs.org/en/), разработанный для установки под отдельного пользователя и вызова для каждой отдельной оболочки. `nvm` работает в любой совместимой с POSIX оболочке (sh, dash, ksh, zsh, bash) в системах Unix, macOS и Windows WSL.
## Функционал
nvm позволяет быстро устанавливать и переключаться между разными версиями Node.js через командную строку. Он загружает готовые бинарные файлы, если они доступны, или компилирует Node.js из исходного кода, если для вашей платформы нет готового бинарного файла.
## Установка
Рекомендуемый способ — запуск установочного скрипта:
```sh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.7/install.sh | bash
```
В качестве альтернативы вы можете клонировать репозиторий в `~/.nvm` и добавить источник `nvm.sh` в профиль вашей оболочки.
## Основные команды
- `nvm install <version>` — загрузить и установить определённую версию Node.js (например, `nvm install 22`, `nvm install node` для установки последней версии)
- `nvm use <version>` — переключить активную версию Node.js в текущей оболочке
- `nvm ls` / `nvm ls-remote` — вывести список установленных / доступных версий
- `nvm alias default <version>` — задать версию по умолчанию для новых оболочек
- `nvm exec <version> <command>` — запустить команду с определённой версией Node.js без переключения глобальной версии
- `nvm which <version>` — получить путь к установленному исполняемому файлу Node.js
- `nvm reinstall-packages --reinstall-packages-from=<from>` — перенести глобальные пакеты npm между разными версиями Node.js
## Поддержка LTS-версий
nvm поддерживает линии долгосрочной поддержки (LTS) Node.js:
- `lts/*` — последняя актуальная LTS-версия
- `lts/argon`, `lts/hydrogen` и другие — конкретные кодовые названия LTS-версий
Использование: `nvm install lts/*` или `nvm use 'lts/argon'`
## Интеграция с файлом .nvmrc
Файлы `.nvmrc` в корне проекта объявляют желаемую версию Node.js. nvm может автоматически активировать указанную в них версию с помощью хуков интеграции с оболочкой в bash, zsh или совместимых с fish обёртках.
## Использование в Docker
nvm можно установить в контейнерах Docker, добавив источник `nvm.sh` через переменную `BASH_ENV`, что позволяет использовать его как в интерактивном, так и в неинтерактивном режиме (например, в пайплайнах CI/CD).
## Ограничения
- Официально не поддерживается в оболочке Fish (существуют альтернативные решения от сообщества)
- Для FreeBSD нет официальных готовых бинарных файлов; для компиляции могут потребоваться патчи
- Установка через Homebrew не поддерживается; пользователям рекомендуется удалить nvm, установленный через Homebrew, и следовать официальным инструкциям по установке
- На Mac с процессорами Apple Silicon используйте Node.js версии 16.0.0 и выше для поддержки нативных бинарных файлов под архитектуру arm64
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.