Flutterのバージョン管理はfvmとasdfどちらを使えばいいのか。可能なら共存させたい。

asdf と fvm どちらも入れたら VScode で Flutter が読み込まれなくなった。ちょくちょく起きていて面倒なので整理する。
対象:
- mac
- VScode ( TODO: Android Studio )

FVM の公式docs を読みます。

FVMの開発モチベーション:
・プロジェクト毎に異なるバージョンを使いたい
・最新バージョンへの切り替え
・開発環境の一貫性
知ってる

ビデオガイド ありがたい。

FVM 公式docs Done。
2回目の読了になる。
前回見た時は global が非サポートだったと思うが、今は復活している??

asdf の公式docs を読みます。

VScode の settings.json が気になったので、そちらの docs も探して流し読み。
VScode:
dart:
上記から
で一覧が見れる。

よくある質問に SDK が読み込まれない現象について言及があった。
launcher/dock から VScode を開くと うまく読み込めないことがありそう。
ANDROID_HOME を設定すると良いらしい。自分はVScode なので関係なさそう。

とりあえず X でフォローした。月に1度くらいで更新してる?

蛇足だけど --dart-define のオススメがあったのでメモ

1行は80文字にしてたけど、明確な根拠がターミナルからの伝統的な数字 + エミュレータ横で起動するから少なめが良い しかなかった。
VScode の 拡張 で デフォルト 80 というのは説得力あると思った。

これいちいち ターミナルが出力に切り替わって面倒だったのでありがたい。
"never" を設定。
asdf と fvm 両立したい。上記参考になるか??

VScode の dart 拡張設定のキャッチアップ Done。
結論から言うと、Zennなどのオススメでに従えば良さそう。
また、 dart 拡張より VScode の設定を [dart] で設定してあげる方が多い。

第3の選択肢。 asdf 互換の rtx。

asdf で fluter を使う為のプラグイン。

↑ README ちゃんとみてなかったので、 FLUTTER_ROOT が見つからなかった。。
ちゃんとやる。dotfiles更新しよっと。
To fix the "Could not find a Flutter SDK" error, you can set the FLUTTER_ROOT environment variable in your .bashrc or .zshrc file:
export FLUTTER_ROOT="$(asdf where flutter)"

XcodeGen についての記事。

第3の選択肢。 asdf 互換の rtx。
いつの間にかリネームされていた。 rtx → mise。

海外ニキが同じような記事つくってくれていた。バックトゥザフューチャーのGIFが差し込まれていて楽しく読める笑

asdf。linux 環境でも導入したら、なんかおかしい。
echo $FLUTTER_ROOT は正常ぽいのに、 where flutter の結果は global install の結果になる。
export FLUTTER_ROOT="$(asdf where flutter)"
上記では local で設定した flutter バージョンにならない。理由は以下。
direnv を使えば解決できそう!!

できんかった。なぜだ。

linux の 通常の terminal だと切り替わった。 VScodeのターミナルだと切り替わらなかった。

犯人見つけた。チェックを外せば良い。

第4の選択肢? aqua というツールがあるらしい。良さそうだが、まだ触ってない。