Files
oam/knowledge base/asdf.md
2022-04-20 20:44:28 +02:00

2.4 KiB

ASDF

asdf is a CLI tool to manage multiple language runtime versions on a per-project basis. It works like gvm, nvm, rbenv and pyenv (and more) all in one.

TL;DR

# list installed plugins
asdf plugin list

# list available plugins
asdf plugin list all

# install plugins
asdf plugin add helm

# update plugins
asdf plugin update kubectl
asdf plugin update --all

# remove plugins
asdf plugin remove terraform

# list installed versions
asdf list elixir

# list available versions
asdf list all elixir

# install a version
asdf install erlang latest
asdf install terraform 1.1.1

# set a specific installed version to use
asdf global helm 3.3 3.2
asdf shell erlang latest
asdf local elixir system

# uninstall a version
asdf uninstall helm 3.3

# show the current status
asdf current
asdf current helm

Installation

# install the program
brew install asdf

# load its shell file and completion
# or just load oh-my-zsh's plugin
. $(brew --prefix asdf)/asdf.sh

Plugins management

# list installed plugins
asdf plugin list
asdf plugin list --urls

# list all plugins (available too)
asdf plugin list all

# asdf plugin add $PLUGIN_NAME [$PLUGIN_URL]
asdf plugin add helm

asdf plugin update --all
asdf plugin update $PLUGIN_NAME

asdf plugin remove $PLUGIN_NAME

Plugins gotchas

asdf plugin list all or asdf plugin add $PLUGIN_NAME also trigger a sync to the plugins repository.

Versions management

# list installed versions for a plugin
# asdf list $PLUGIN_NAME
asdf list elixir

# list all available versions for a plugin
# asdf list all $PLUGIN_NAME
asdf list all elixir

# install a plugin version
# asdf install $PLUGIN_NAME $PLUGIN_VERSION
asdf install erlang latest

# check current plugin version
# asdf current [$PLUGIN_NAME]
asdf current
asdf current helm

# set plugin version
# asdf global|shell|local $PLUGIN_NAME $PLUGIN_VERSION [$PLUGIN_VERSION,...]
asdf global helm 3.3 3.2
asdf shell erlang latest
asdf local elixir latest

# fallback to system version
# asdf local $PLUGIN_NAME system
asdf local python system

# uninstall a version
# asdf uninstall $PLUGIN_NAME $PLUGIN_VERSION
asdf uninstall helm 3.3

Further readings