fvmを使ってもよいんですが、開発言語ごとにバージョン管理ツールが増えるのは面倒なので、個人的に好きな各言語の管理プラグインが提供されている asdf
を使いたいと思います。
asdfのセットアップ
公式のGetting Started
に従って作業します。(今回はbrew
を使ってasdf
を入れます。)
※asdf
について
※brew
について
1. Dependenciesのインストール
asdf
を使うために必要な依存パッケージを先にインストールしておきます。
$ brew install coreutils curl git
2. asdfのインストール
brew
からasdf
をインストールします。
$ brew install asdf
asdf
のPATHを登録します。
Bash + Homebrew
`~/.bash_profile` に下記のコードを追加します。
```bash
. $(brew --prefix asdf)/libexec/asdf.sh
```
`.bash_profile` の再読み込みをする
```bash
$ source ~/.bash_profile
```
Zsh + Homebrew
`~/.zshrc`に下記のコードを追加します。
```zsh
. $(brew --prefix asdf)/libexec/asdf.sh
```
`.zshrc` の再読み込みをする
```zsh
$ source ~/.zshrc
```
PATH登録が終わって、再読み込みが完了したら asdf
が認識しているかチェックします。
$ asdf --version v0.10.2(←ここのバージョンは同じじゃなくてもよい)
3. Flutterプラグインをインストール
asdf
でFlutter
のバージョンを管理できるようにするために、プラグインをインストールします。
※プラグインの検索は以下が便利です。
asdf plugin list all | grep <plugin_name>
# プラグインの検索 $ asdf plugin list all | grep flutter flutter *https://github.com/oae/asdf-flutter.git # Flutterプラグインのインストール $ asdf plugin add flutter https://github.com/oae/asdf-flutter.git # インストール済みプラグインリスト $ asdf plugin list flutter ...
Flutterのインストール
asdf
のセットアップが終わったら、asdf
でFlutter
をインストールします。
※asdf
でインストールできる全リストは以下で表示可能
$ asdf list all <plugin_name>
# Flutterバージョンが3系をピックアップ $ asdf list all flutter | grep ^3. # Flutter 3.3.4-stable をインストール $ asdf flutter install 3.3.4-stable # インストールできているか確認 $ asdf list flutter 3.3.4-stable
※ Cannot find the download url for the version: 3.3.10-stable
と言われたときは、こちらを参照してみてください。
※flutterのバージョン設定をどこまでのスコープで適用するか決められます。
■Global(全てで指定したバージョンを利用する)
$ asdf global flutter 3.3.4-stable
■shell(現在のShellで利用する)
$ asdf shell flutter 3.3.4-stable
■local(カレントディレクトリ配下で指定したバージョンを利用する)
$ asdf local flutter 3.3.4-stable
設定が完了したらasdf
で正常に設定されているか確認します。
$ asdf current
flutter 3.3.4-stable /Users/h.nomura/.tool-versions(←ディレクトリは設定したスコープによって違う)
各種設定のチェック
$ which asdf asdf () { local command command="$1" if [ "$#" -gt 0 ] then shift fi case "$command" in ("shell") eval "$(asdf export-shell-version sh "$@")" ;; (*) command asdf "$command" "$@" ;; esac } $ which flutter /Users/h.nomura/.asdf/shims/flutter $ asdf --version v0.10.2 $ flutter --version Flutter 3.3.4 • channel stable • https://github.com/flutter/flutter.git Framework • revision eb6d86ee27 (3 months ago) • 2022-10-04 22:31:45 -0700 Engine • revision c08d7d5efc Tools • Dart 2.18.2 • DevTools 2.15.0