📦

asdfで一元管理!複数プログラミング言語のバージョンを効率よく管理する方法

に公開

asdfとは

asdfは、Ruby, Python, Node.js など、複数のプログラミング言語やツールのバージョンを一元管理できるバージョン管理ツールです。

従来は言語ごとにrbenv(Ruby用)、pyenv(Python用)、nvm(Node.js用)などのツールを使い分ける必要がありましたが、それらを利用しなくてもasdfだけで一元管理できるため、環境構築や切り替えが非常に簡単になります

導入方法

1. asdfのインストール

まずは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 ファイルを共有することで、バージョンの統一が簡単になります。

GitHubで編集を提案

Discussion