
Если вы разрабатываете или как я тестируете по написанное на Node.js, то наверняка сталкивались с необходимостью управлять несколькими версиями Node.js. Для этих целей отлично подходит nodenv — легковесная утилита для управления версиями Node.js.
Кратко плюсы можно описать так:
- Изоляция версий Node.js для разных проектов.
- Легко устанавливать новые версии, без риска сломать старые.
- Простота и надёжность —
nodenvработает быстро и стабильно. - Интеграция с shell, автоматическое переключение версий при смене директории.
- Возможность временного изменения версии через
nodenv shell.
Установка#
Для установки nodenv как всегда будем использовать Homebrew:
brew install nodenvПосле установки нужно добавить nodenv в ваш шел, в моем случае это zsh.
— добавляем в файл ~/.zshrc:
eval "$(nodenv init -)"— теперь примените изменения:
source ~/.zshrcПросмотр и установка версий Node.js#
Посмотреть последние стабильные версии для установки:#
nodenv install --listПосмотреть все доступные версии для установки:#
nodenv install --list-allУстановить нужную версию, например, 22.16.0:#
nodenv install 22.16.0Переключение между версиями Node.js#
Установить версию глобально, т.е по умолчанию:#
nodenv global 22.16.0Эта версия будет использоваться по умолчанию во всех проектах, если не указано иное.
Установить локальную версию (для конкретного проекта):#
Перейдите в папку проекта и выполните:
cd ../bla-bla/my-project/
nodenv local 24.2.0Теперь при входе в эту директорию автоматически будет активироваться версия 24.2.0.
И например перейдем в другую директорию:
cd ../bla-bla/my-other-project/
nodenv local 22.16.0Теперь в этой директории будет использоваться версия 22.16.0.
Использование nodenv shell#
Иногда бывает удобно временно изменить версию Node.js только для текущей сессии терминала, без изменения глобальной или локальной настроек. Для этого используется команда:
nodenv shell 24.15.0Теперь в текущей сессии терминала будет использоваться версия 16.15.0. Как только вы закроете терминал, эта настройка сбросится.
Удаление ненужных версий#
Если версия больше не нужна:
nodenv uninstall 14.19.3

