asdfはプログラミング言語やCLIのマルチランタイムバージョン管理ツールです。
この記事では、インストールから使い方の概要までをご紹介します。
なお、2025年1月30日にリリースされた v0.16.0 にて asdf は bash から golang に実装が変わり、仕様が変わっています。
本記事では、 v0.16.0 以降の情報で記載します。
環境構築
インストール
本記事では Homebrew を利用してインストールします。
$ brew install asdf
~/.zshrc
に以下を追記します。
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"
アップデート
$ brew upgrade asdf
Homebrew 以外の場合は こちら を参照してください。
また、 Homebrew で asdf をアップデートした際に no such file or directory
といったエラーが発生する場合、 環境変数 ASDF_DIR
に旧バージョンの情報が含まれる可能性があるため、以下のコマンドを試してみてください。
$ export ASDF_DIR=
$ exec $SHELL -l
アンインストール
$ brew uninstall asdf --force
$ rm -rf $HOME/.tool-versions $HOME/.asdf
Homebrew 以外の場合は こちら を参照してください。
使い方
プラグイン・ツールのインストール
- 使いたいプログラミング言語・ツールに対応したプラグインを探します
asdf plugin list all
- 使いたいプログラミング言語・ツールに対応したプラグインを追加します
asdf plugin add <name>
asdf plugin add <name> <git-url>
# asdf で管理されていないプラグインの場合
- プラグインが追加されたか確認します
asdf plugin list
- 使いたいプログラミング言語・ツールのバージョンを探します
asdf list all <name>
- 使いたいプログラミング言語・ツールのバージョンを指定してインストールします
asdf install <name> <version>
- プログラミング言語・ツールのバージョンを設定します
asdf set <name> <version>
- 現在のバージョンを確認します
asdf current
asdf current <name>
例として golang で一連の流れを紹介します。
$ asdf plugin list all | grep golang
golang *https://github.com/asdf-community/asdf-golang.git
golangci-lint https://github.com/hypnoglow/asdf-golangci-lint.git
$ asdf plugin add golang
$ asdf plugin list
golang
$ asdf list all golang
1.23.6
$ asdf install golang 1.23.6
$ asdf set golang 1.23.6
$ asdf current golang
Name Version Source Installed
golang 1.23.6 /Users/xxxxx/.tool-versions true
$ go version
go version go1.23.6 darwin/amd64
プラグインのアップデート
$ asdf plugin update --all
ツールのアンインストール
$ asdf uninstall <name> <version>
プラグインのアンインストール
$ asdf plugin remove <name>
困ったときは
$ asdf help