June 17

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

Если вы разрабатываете или как я тестируете по написанное на 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