Open5
Flutterの複数version管理を行うFVMを使う
Flutterでいくつか並行でプロジェクトを回しているとそれぞれのアプリで別のversionのFlutter SDKを利用したくなることがある。
そういう時に複数versionのSDKを同一マシンで使うにはRubyやNodeではrbvenv,nodenvみたいなものがあったがFlutterにもFVMというツールがある。
これを使うとfvm install 2.2.1
のようなコマンドを叩くと指定したバージョンのSDKがインストールでき、fvm use 2.2.1
とやるとそのversionのSDKを特定のプロジェクト配下でのみ利用出来る。
導入方法は簡単でMacであれば下記でOK。
brew tap leoafarias/fvm
brew install fvm
そのほかの環境も下記のリンクに記載の通り。
実際に使う流れとしては例えば、
fvm releases
で現在インストール可能なSDK一覧を調べて、
fvm install 2.2.1
のようにversionを指定してインストール。
cd <your-flutter-project>
fvm use 2.2.1
のようにしてそのSDKを利用したいプロジェクトでfvmでインストールしたSDKを有効化。
fvm flutter run
のようにfvm <command>
でいつも通りのflutterコマンドを指定するとfvmでインストールしたSDKを使ってくれるようになる。
fvm remove 2.2.1
のように指定すれば簡単に削除できる。
ちなみにGUIバージョンもある。ただ自分はCUI版で十分かな〜と感じたのでHomebrewでインストールしたやつを使っている。
あとVSCodeで使う場合は下記の設定を.vscode/settings.json
としてプロジェクト配下に設置した。
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
"search.exclude": {
"**/.fvm": true
},
"files.watcherExclude": {
"**/.fvm": true
}
}