はじめに
asdf というバージョン管理ツールの導入方法について解説します。
asdf とは?
プログラミング言語やライブラリのバージョンを一括で管理できるツールです。
nodeenv や pyenv などで特定の言語のバージョン管理をすることができますが、asdf では複数の言語やライブラリのバージョンをまとめて管理することができます。
もちろん、ディレクトリ毎にバージョンを指定することもできるので、プロジェクトで利用するライブラリのバージョン管理も容易になります。
https://asdf-vm.com/
導入
M2 Mac (Ventura 13.0) を前提としています。
別環境で導入する場合は、公式サイトを参考に適宜読み替えてください。
インストール
HomeBrew でインストールできます。
brew install asdf
初期設定
asdf 経由でインストールしたツールを使うための初期設定をします
~/.profile
または ~/.zshrc
に以下の行を追加し、terminal を再起動する。
. /opt/homebrew/opt/asdf/libexec/asdf.sh
# 以下のコマンドを実行でもOK
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
基本的な使い方
nodejs のインストールを例に基本的な利用方法を記します。
プラグインから検索
asdf plugin list all | grep nodejs
# nodejs https://github.com/asdf-vm/asdf-nodejs.git
プラグインのインストール
# asdf plugin add の後に名称とリポジトリの部分をコピペする
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
利用可能なバージョンの確認
asdf list all nodejs
# 0.1.14
# ...
# 21.7.1
インストール
# バージョンを指定してインストール
asdf install nodejs 21.7.1
# 最新版をインストールする場合は latest を指定
# asdf install nodejs latest
利用するバージョンの指定
# 利用するバージョンをセット
asdf local nodejs 21.7.1
# バージョン確認
node --version
# v21.7.1
以下のように global
を指定すると、すべてのディレクトリで指定したバージョンが適用されます
asdf global nodejs 21.7.1
設定したバージョンの管理
asdf local
で設定したバージョンは .tool-versions
というファイルに記載されます。
これをプロジェクトのリポジトリにコミットすれば、ツールのバージョンもコードと合わせて管理することができます。
cat .tool-versions
# nodejs 21.7.1
最後に
バージョン管理ツール asdf の導入方法について記載しました。
個人で使うのにはもちろん、チームで使うのにとても便利なツールなので、ぜひ使ってみてください。