Closed12
asdf 0.16.x の破壊的な変更に対応

概要
Homebrewでインストールした asdf
がアップグレードされ色々と破壊的な変更が入り、環境が壊れてしまったので再構築した時のメモを記載します。

最初に試したこと
まずは公式のアップグレード手順の通りに試してみたのですが結論これは駄目でした。
実際に asdf install nodejs 22.14.0
などを実行して node -v
を実行しても認識してくれないようになってしまいました。

なので一度 asdf
を完全に削除してから再インストールする方針にしました。
以下を参考にしながら以下を実行しました。
asdfを強制的にアンインストール
brew uninstall --force asdf
未使用のasdf関連の依存関係を削除
brew autoremove
削除されていることを確認
brew list asdf
Error: No such keg: /opt/homebrew/Cellar/asdf
関連ファイルの削除
~/.zshrc
から asdf
関連の記述を全て削除。
設定ファイルやシンボリックリンクの保存先などの関連ファイルを全て削除。
rm -rf ~/.asdf/
rm -rf ~/.tool-versions

asdf を再度インストール
brew install asdf
~/.zshrc
に以下を追加、最低限これだけで良い。
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"
他にもデータの保存先を変えたり、オートコンプリートの設定をやる場合は以下を参照。
ちなみに最近のターミナル(自分はWarpを使っている)は大体AIが搭載されているのでコマンドの補完機能がなくても特に不便は感じないので自分は設定していないです。

Node.jsの再設定
asdf
のNode.jsプラグインを追加。
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
補足: Plugin一覧の確認
ちなみにPluginの一覧は下記を参照。
または以下のコマンドを実行することでも確認可能です。
asdf plugin list all

Terraform の再設定
以下でTerraform用のPluginを追加します。
asdf plugin add terraform https://github.com/asdf-community/asdf-hashicorp.git
注意点として 公式 のコマンドは古いです。
簡単な修正なのでPRを出しておきました。
インストール可能なバージョンを確認
asdf list all terraform
指定したバージョンをインストール
asdf install terraform 1.10.5
プロジェクトに設定
asdf set terraform 1.10.5
指定したバージョンがプロジェクトルートで使われていることを確認
terraform --version
Terraform v1.10.5
on darwin_arm64
Your version of Terraform is out of date! The latest version
is 1.11.2. You can update by downloading from https://www.terraform.io/downloads.html

Pythonの再設定
最近は uv
を使うことが多くPythonのバージョン管理も uv
でやっているのでPythonを asdf
で管理する機会は減っているのだが poetry を使っているプロジェクトもあるので一応設定しておく。
Python用のPluginを追加
asdf plugin add python
利用可能なPythonのバージョンを閲覧
asdf list all python
指定したPythonバージョンのインストール
asdf install python 3.11.4
プロジェクト固有のPythonバージョンの設定
asdf set python 3.11.4

which python
/Users/ユーザー名/.asdf/shims/python
このスクラップは3ヶ月前にクローズされました