🐷

asdf でバージョン管理環境を構築

2024/05/12に公開

asdf とは

asdf は、複数の言語やツールのバージョン管理を一括で管理できるツールです。

https://asdf-vm.com/

インストール

Homebrew でインストールします。

$ brew install asdf

シェルの組み込み

こちらを参考にシェルへ組み込みます。シェル起動時に asdf を読み込むように設定します。 exec $SHELL -l でシェルを再起動します。

$ echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
$ exec $SHELL -l
########################################
# asdf
#######################################
. /opt/homebrew/opt/asdf/libexec/asdf.sh

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

プラグインとして Node をインストールします。

$ asdf plugin add nodejs

利用可能なバージョンを確認

こちらのコマンドで利用可能なバージョンを確認できます。ためしに、nodejs で利用可能なバージョンを確認します。

$ asdf list-all nodejs
...
21.5.0
21.6.0
21.6.1
21.6.2
21.7.0
21.7.1
21.7.2
21.7.3
22.0.0
22.1.0

バージョンをインストール

最新のバージョン(latest)をダウンロードします。

$ asdf install nodejs latest
$ asdf install nodejs 22.0.0

インストール済みのバージョンを確認します。

$ asdf list nodejs

  22.0.0
 *22.1.0

利用するバージョンを指定

グローバルに設定

どのディレクトリでも先ほどダウンロードしたバージョンを利用できるように設定します。

$ asdf global nodejs latest

利用可能なバージョンを確認します。

$ cat ~/.tool-versions

nodejs 22.1.0

node のバージョンを確認します。

$ mkdir -p ~/Private/temp-20240512-1
$ cd ~/Private/temp-20240512-1
$ node --version

v22.1.0

ローカルに設定

一部のディレクトリのみで利用するバージョンを設定します。

$ mkdir -p ~/Private/temp-20240512-2
$ cd ~/Private/temp-20240512-2
$ asdf local nodejs 22.0.0

利用可能なバージョンを確認します。

$ cat .tool-versions

nodejs 22.0.0

node のバージョンを確認します。

$ node --version

v22.0.0

プラグインのアップデート

プラグインのアップデートします。

$ asdf plugin update nodejs

プラグインの削除

プラグインの削除します。あたりまえですが、プラグインを削除すると、そのプラグインでインストールしたバージョンも削除されます。

$ asdf plugin remove nodejs

さいごに

asdf は、複数の言語やツールのバージョン管理を一括で管理できるツールです。複数の言語やツールを利用する場合には、ぜひ導入してみてください。

Discussion