マルチランタイムバージョン管理ツールasdf

2025-02-07

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 以外の場合は こちら を参照してください。

使い方

プラグイン・ツールのインストール

  1. 使いたいプログラミング言語・ツールに対応したプラグインを探します
    • asdf plugin list all
  2. 使いたいプログラミング言語・ツールに対応したプラグインを追加します
    • asdf plugin add <name>
    • asdf plugin add <name> <git-url> # asdf で管理されていないプラグインの場合
  3. プラグインが追加されたか確認します
    • asdf plugin list
  4. 使いたいプログラミング言語・ツールのバージョンを探します
    • asdf list all <name>
  5. 使いたいプログラミング言語・ツールのバージョンを指定してインストールします
    • asdf install <name> <version>
  6. プログラミング言語・ツールのバージョンを設定します
    • asdf set <name> <version>
  7. 現在のバージョンを確認します
    • 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

おすすめ記事