Flutter案件では、チーム全員でFlutter SDKのバージョンを揃えることがとても大切です。
その時に便利なのがFVM(Flutter version Management)です。
FVM公式では、マシン全体のFlutter SDKバージョン管理をFVMで行う使い方が案内されています。macOSでは導入方法として install script と Homebrew などが用意されています。
この記事では、macOS環境でFVMを導入した流れと、案件開始後にどう使うかをまとめます。
https://fvm.app/documentation/getting-started/installation?utm_source=chatgpt.com
FVMとは
FVMは、Flutter SDKのバージョンを管理するCLIツールです。
プロジェクトごとに使うFlutterのバージョンを切り替えられるので、複数案件がある時や、チーム全体でSDKバージョンを揃えたい時に役立ちます。
例えば以下のような場面で便利です。
- 案件AはFlutter3.35.x
- 案件BはFlutter3.41.x
- チームは「この案件はこのバージョン」と決めている
このようなとき、PCに1つだけFlutterを入れて運用すると、うっかりバージョンがずれやすいです。FVMを使うと、案件ごとにFlutterを分けて管理できます。
FVMを使う理由
FVMを使わない場合、以下のような問題が起きやすいです。
- 自分だけFlutterのバージョンが違う
- チームメンバーと生成物がズレる
- package解決結果が変わる
- 案件ごとの指定バージョンに合わせづらい
FVMは、Flutter SDKのインストール・切り替え・実行をプロジェクト単位で揃えるための道具です。主要コマンドとしてuse install list flutter dartなどが用意されています。
この記事の前提環境
以下の状態からFVMを導入する想定で進めていきます。
- macOS
- Homebrewは導入済み
- 通常のFlutterも導入済み
Flutter FVMの導入手順
この記事ではこれはFVM公式のインストール案内に沿って、Homebrewを使って導入する手順を確認していきます。
STEP:1 tapを追加する
brew tap leoafarias/fvm
これは、HomebrewにFVMの配布元を追加する操作です。
STEP2: FVM本体をインストールする
brew install fvm
これでFVMがインストールされます。
インストールが完了したかどうかは次のコマンドで確認できます。
fvm --version
バージョン番号が出れば、FVM本体の導入は完了です。
ついでに既存のFlutter環境も確認しておくと安心です。
つまり、今使っている通常のFlutter環境を確認します。
which flutter
↑今flutterコマンドがどの場所のSDKを見ているか
flutter --version
↑そのFlutterのバージョン
STEP3: FVMが正常に動いているか確認する
FVMがFlutterリリース一覧を取得できるか、次のコマンドで確認できます。
fvm releases
大量に一覧が表示されれば、FVMが正常に動いていると考えて大丈夫です。
これでFlutter FVMの導入は完了です。
案件を始まった時の流れ
ここまででFVMの導入は完了ですが、実際に案件でFVMを使う流れも確認していきます。
案件開始後にREADMEやチームから指定Flutterバージョンが共有されたら、そのバージョンをFVMで入れて、プロジェクトに紐付けます。
基本の流れは以下の通りです。
1.リポジトリをクローンする
2.指定バージョンをインストールする
例えば3.41.2を使うなら次を実行します。
fvm install 3.41.2
installはSDKをダウンロードしてキャッシュするコマンドです。
3.そのプロジェクトで使うSDKとして設定する
fvm use 3.41.2
useは現在のプロジェクトに使うFlutter SDKバージョンを設定するコマンドです。
4.依存関係を取得する
fvm flutter pub get
5.実行する
fvm flutter run
6.必要に応じて診断する
fvm flutter doctor
実務で大事なポイント
flutterではfvm flutterを使います。
案件でFVM管理をするなら、できるだけfvm flutterを使うのが安全です。
そうすると、その案件で設定されたFlutter SDKで確実にコマンドが実行されます。
例えば次のように使います。
fvm flutter pub get
fvm flutter run
FVMでよく使う基本コマンド
fvm install
指定したFlutter SDKをダウンロードしてキャッシュします。
fvm install 3.41.2
fvm use
現在のプロジェクトで使うFlutter SDKバージョンを設定します。
fvm useを実行すると、プロジェクト設定が作られ、環境の整合性が保たれるようになります。
fvm use 3.41.2
fvm list
FVMでインストール済みのSDK一覧を確認します。
fvm list
fvm flutter
プロジェクトに設定されたSDKでFlutterコマンドを実行します。
FVM公式では、Flutter/Dartを正しいSDKで実行するためのproxy commandとして案内されています。
fvm flutter doctor
fvm flutter pub get
fvm flutter run
fvm dart
プロジェクトに設定されたSDK内のDartを使ってコマンド実行します。
fvm dart --version
fvm doctor
FVM環境や設定状態の確認に使えます。
fvm doctor