Rose debug info
---------------

asdf — менеджер версий языков программирования

Для установки пакетов на macOS я пользовался долгое время пакетным менеджером Homebrew. Утилита позволяет устанавливать и обновлять не только актуальные, но и major-версии:


$ brew install [email protected]

Однако, Homebrew не предоставляет функциональности для управления несколькими версиями пакетов, которые могут совместно существовать в пользовательском пространстве. Особенно, это критично, когда нет необходимости или желания использовать Docker, но есть потребность иметь разные версии языка программирования, например, для тестирования разрабатываемых библиотек или программного обеспечения.

Чтобы решить данную проблему разработчики стали придумывать утилиты вокруг командной оболочки для своих языков и рантаймов: nvm для Node.js, rvm и rbenv для Ruby и т. д. Если вы работаете с несколькими языками одновременно, то тащить для каждого из них свою утилиту, да еще и добавлять в shell ее скрипты, не всегда удобно и эффективно. Чтобы этого не делать, можно воспользоваться менеджером версий asdf.

asdf имеет хорошую документацию, совместим со всеми популярными командными оболочками и расширяем при помощи системы плагинов.

Python и JDK устанавливаются следующим образом:


# Python
$ asdf plugin add python
$ asdf install python 3.9.4
$ asdf global python 3.9.4

# JDK
$ asdf plugin add java
$ asdf list-all java | grep "openjdk-11"
$ asdf install java openjdk-11
$ asdf global java openjdk-11
$ java --version

Через плагин для Java можно также конфигурировать переменную окружения $JAVA_HOME.

Поделиться
Отправить
 400   6 мес   asdf   cli