M1 Macでasdfを使う


M1 Mac(macOS Monterey)でバージョン管理ツール「asdf」を使用した時のメモです

http://asdf-vm.com/

インストール

  1. Homebrewを使用してインストールします
brew install asdf
  1. asdf.shを.zshrcに追加します
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc

https://brew.sh/index_ja

プラグイン

バージョン管理する言語やツールのプラグインをインストールします

使用可能なプラグインのリストを表示

asdf plugin list all

プラグインの追加

asdf plugin add <name>

更新

# 全部
asdf plugin update --all
# 指定
asdf plugin update <name>

削除

asdf plugin remove <name>

インストール済みプラグインの確認

asdf plugin list
# url付き
asdf plugin list --urls

バージョン

インストール可能なバージョンの一覧

asdf list all <name>
# 指定した文字で始まるものでフィルタ:例)asdf list all erlang 17
asdf list all <name> <version>

インストール

# バージョン指定
asdf install <name> <version>
# 最新の安定版
asdf install <name> latest
# 指定した文字で始まる最新の安定版:例)asdf install erlang latest:17
asdf install <name> latest:<version>

削除

asdf uninstall <name> <version>

インストール済バージョンの確認

asdf list <name>

使用するバージョンの指定

バージョンの指定

# グローバル
asdf global <name> <version> [<version>...]
# ディレクトリ指定:$PWD/.tool-versionsファイルがカレントに作成される
asdf local <name> <version> [<version>...]

設定されているバージョンの確認

asdf current
# 名前指定
asdf current <name>

うまく動作しない場合

プラグインによってはRosettaでないと動作しない場合があります

https://github.com/oae/asdf-flutter.git

以下のようにアーキテクチャを変更してからasdfコマンドを実行する必要があります

# アーキテクチャ指定
arch -x86_64 /bin/zsh

asdf plugin add flutter
asdf list all flutter
  :
asdf install flutter 2.10.4
asdf global flutter 2.10.4

flutter --version

# インストール終わったら終了
exit