asdfで一元管理!複数プログラミング言語のバージョンを効率よく管理する方法
asdfとは
asdf
は、Ruby, Python, Node.js など、複数のプログラミング言語やツールのバージョンを一元管理できるバージョン管理ツールです。
従来は言語ごとにrbenv
(Ruby用)、pyenv
(Python用)、nvm
(Node.js用)などのツールを使い分ける必要がありましたが、それらを利用しなくてもasdf
だけで一元管理できるため、環境構築や切り替えが非常に簡単になります
導入方法
asdf
のインストール
1. まずはHomebrew
を使ってasdf
をインストールします。
brew install asdf
次に、利用しているシェルに応じてパスを設定します。
# 利用しているシェルの確認
echo $SHELL
例えば、zsh
を使用している場合は、~/.zshrc
に以下の設定を追加します。
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"
その他のシェルについては、こちらの公式ガイドを参考に設定してください。
インストールが正常に完了したか確認するため、以下のコマンドでバージョンが表示されることを確認します。
asdf -v
2. プラグインの追加とバージョン管理
asdf
では、各言語やツールのバージョンを管理するために、プラグインを追加する必要があります。インストールできるプラグインは、以下コマンドで確認できます。
asdf plugin list all
ここでは、Node.js
の管理を例に説明します。
2-1. プラグインのインストール
Node.js
のプラグインを追加するには、以下のコマンドを実行します。
asdf plugin add nodejs
プラグインが正常にインストールされたか確認するには、以下のコマンドを使います。
asdf list
2-2. インストールしたいバージョンを指定
Node.js
のインストール可能なバージョンを確認するには、以下のコマンドを使います。
asdf list all nodejs
使いたいバージョンをインストールします。
# 最新バージョンをインストールする場合
asdf install nodejs latest
# 特定のバージョンを指定してインストールする場合
asdf install nodejs 23.11.0
2-3. 利用するバージョンを指定
プロジェクトごとに使うバージョンを設定するには、対象のプロジェクトディレクトリで以下のコマンドを実行します。
asdf set nodejs 23.11.0
このコマンドを実行すると、プロジェクトディレクトリに .tool-versions
ファイルが作成され、指定したバージョンが適用されます。
これにより、チーム開発時に .tool-versions
ファイルを共有することで、バージョンの統一が簡単になります。
Discussion