asdf
asdf
は、複数のツールのバージョンを管理できるツールです。
指定したバージョンのツールを簡単にインストールできるため、とても便利です。
apt
や brew
などのパッケージマネージャーを使ってツールをインストールすることも可能ですが、asdf
を使うことでバージョンの切り替えが簡単にでき、さらに便利になります。
このページでは asdf
のかんたんな使い方を中心に説明します。
asdf
の説明動画
※ 小さいのでYouTubeを開いて見ることをお勧めします。
※ asdf v0.16.0
から asdf global
と asdf local
は利用できなくなりました。代わ りに asdf set
を利用してください。
- グローバル設定(どのディレクトリでも使える)
- ❌
asdf global nodejs 20.10.0
- ⭕️
asdf set --home nodejs 20.10.0
- ❌
- 特定のプロジェクト(ディレクトリ配下) の場合
- ❌
asdf local nodejs 20.10.0
- ⭕️
asdf set nodejs 20.10.0
- ❌
asdf
のインストール
はじめよう | asdf を見ながら asdf
をインストールしてください。
操作の流れ
順番 | 手順 | 対応するコマンド | 説明 |
---|---|---|---|
1 | プラグインの追加 | asdf plugin add <プラグイン名> | ツールに対応するプラグインを追加する (プラグインを追加していない場合のみ) |
2 | ツールのインストール | asdf install <ツール名> <バージョン> | ツールのバージョンを指定してインストールする |
3 | バージョンの指定 | asdf set --home <ツール名> <バージョン> または asdf set <ツール名> <バージョン> | 利用したいバージョンを指定する - オプションなし : カレントディレクトリ- --home : ホームディレクトリ- --parent : 親ディレクトリの .tool-versions |
1. プラグインの追加
asdf は plugin を追加することで、インストールできる対象のツールを増やしていきます。
インストールしたいツールのプラグインは asdf-vm/asdf-plugins で確認できますが、コマンドでも確認できます。
asdf plugin list all
を実行すると追加することができる plugin の一覧が表示されます。
そのため以下のようにするとコマンドのみでインストールしたいツールのプラグインがあるか確認できます。
asdf plugin list all | grep <追加したいツール>
例: kubectl を探す場合
asdf plugin list all | grep kubectl
実行結果
❯ asdf plugin list all | grep kubectl
kubectl *https://github.com/asdf-community/asdf-kubectl.git
kubectl-bindrole https://github.com/looztra/asdf-kubectl-bindrole.git
kubectl-buildkit https://github.com/ezcater/asdf-kubectl-buildkit.git
kubectl-convert https://github.com/iul1an/asdf-kubectl-convert.git
kubectl-kots https://github.com/ganta/asdf-kubectl-kots.git
上記で確認できたので、以下を実行すると kubectl の plugin を追加できます。
asdf plugin add kubectl
2. ツールのインストール
plugin を追加したらツールをインストールできます。 asdf は自分が使いたいバージョンのツールをインストールすることができます。インストール済みのバージョン画複数ある場合、かんたんに切り替えることも可能です。
まずはインストールできるバージョンを確認しましょう。 以下のコマンドでインストール可能なバージョンの一覧が確認できます。
asdf list all <インストールしたいツール>
例: kubectl の場合
asdf list all kubectl
実行結果
❯ asdf list all kubectl
...省略
1.30.0
1.30.1
1.30.2
1.31.0-alpha.0
1.31.0-alpha.1
1.31.0-alpha.2
1.31.0-alpha.3
上記でインストールできるバージョンがわかったらインストールを実行します。
例: kubectl 1.30.0 をインス トールする場合
asdf install kubectl 1.30.0
また最新をインストールしたい場合は、 latest
を指定できます。
例: kubectl の最新バージョンをインストールする場合
asdf install kubectl latest
インストールしたものは以下のコマンドで確認できます
例: インストールしたツールをすべて表示
asdf list
実行結果
❯ asdf list
helm
*3.15.4
jmespath
*0.2.1
kubectl
1.26.3
1.27.1
1.29.3
*1.30.0
minikube
1.30.0
1.30.1
*1.33.1
※ *
が付いているバージョンを利用します(変更する際は asdf set --home
か asdf set
を使います)
例: kubectl のインストール済みのバージョンを確認する
asdf list kubectl
実行結果