はじめに
インプルの矢島です。
Flutterのバージョン管理ツールのFVMが便利だったのでご紹介します。
FVMとは
FVMとはFlutterのバージョン管理ツールです。複数のFlutterプロジェクトを抱えていてプロジェクトごとにFlutterバージョンが違う場合に役立つツールとなっております。
FVMを使わない場合
FlutterSDKをPCにインストールして、そのパスを通して開発を進める。(ちなみにFVMを使わない場合のバージョン変更方法)
FVMを使う場合
プロジェクトごとに.fvmファイルで定義されているバージョンのFlutterSDKをプロジェクトにインストールして開発を進める。→プロジェクトごとに違うバージョンのFlutterを使用することができる。
インストール
Macの場合はhomebrewを使用してインストールをします。
brew tap leoafarias/fvm
brew install fvm
私がMacを使用しているためMacのインストールのみご紹介しております。WindowsとLinuxは公式サイトをご確認ください。
つかってみる
最初に、FVMでFlutterを使用する場合は、コマンドの先頭にFvmをつける必要があります。
例)
Flutter run → Fvm Flutter run
// Flutter run では、PCにインストールしたFlutterバージョンが動く
上記を踏まえて、大きく3つのパターンで想定して使用をしてみます。
- 新たにFVM管理でFlutterのバージョンの設定を開始するとき
- すでにプロジェクトがFVM管理されているとき(.fvmディレクトリが存在するとき)
- FVM管理のプロジェクトのFlutterバージョンを変更するとき
共通. 最初の設定
① .gitignore でインストールしたSDKを無視します。
.fvm/flutter_sdk
② エディターの設定
VSCodeの場合、自動切り替えできるように .vscode/setting.jsonに以下の内容のファイルを作成・更新します。(この設定をすることでVSCodeのデバックでFvmでインストールしたバージョンが動くようになります。)
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
AndroidStudioをご使用の場合は公式サイトをご参照くださいませ
新たにFVM管理でFlutterのバージョンの設定を開始するとき
fvm releases // インストールできるバージョンを確認
fvm use 3.7.0 // プロジェクトディレクトリに.fvmディレクトリが生成される 指定したバージョンがinstallされていない場合は同時にインストールもされます
すでにプロジェクトがFVM管理されているとき
fvm install // .fvm/fvm_config.jsonをもとにバージョンをインストールされます。
FVM管理のプロジェクトのFlutterバージョンを変更するとき
fvm use 3.3.4 // .fvm/.fvm_config.jsonのバージョン表記が切り替わります。
fvm flutter --version //確認
まとめ
とても簡単に使用することができました。nodebrewやrbenvみたいなイメージで使用することができるため、なんとなくですぐ理解できると思います。
他にも1つのプロジェクトで開発環境、検証環境、本番環境用で異なるバージョンを管理することもできるみたいです〜(詳細)便利ですねー
参考
- https://fvm.app/docs/getting_started/overview
- https://dev.classmethod.jp/articles/flutter-fvm/