【Dart】FVMでFlutter SDKのバージョンをプロジェクトごとに管理する方法

この記事からわかること
- Flutter/DartでFlutter SDKをプロジェクトごとに管理する方法
- FVM(Flutter Version Management)の使い方
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Meerkat
- Xcode:16.3
- Flutter:3.32.5
- Dart:3.7.2
- FVM:3.2.1
- Mac M1:Sequoia 15.4
FVMとは?
「FVM(Flutter Version Management)」とは1つのPC内で複数のFlutter SDKバージョンを共存させるためのツールです。このツールを活用することでプロジェクトごとにFlutter SDKバージョンが異なる場合でもスイッチコストを抑えてプロジェクトを切り替えることが可能になります。
例えばA案件ではstable(安定版)のバージョンだがB案件では少し前のバージョンの場合だった場合にFVMを未使用だとグローバルにインストールしたSDKを再度入れ直して実行する手間が発生してしまいます。これをFVMを使用することでコマンド1つでバージョンの切り替えが可能になります。
FVMの導入方法:Homebrew
FVMをインストールする方法はHomebrewやDartを使用します。Homebrewの場合は以下のコマンドを順番に実行します。
Xcode Command Line Tools
のバージョンが古いと失敗することがあるのでその場合は以下コマンドで最新にして上げてください。
fvm -v
を実行してバージョンが取得できれば導入は成功です。
アンインストールしたい場合
使用可能なFlutter SDKバージョンを確認する
使用可能なFlutter SDKバージョンを確認するにはfvm releases
を使用します。実行すると存在するバージョン一覧が表示され、最新のstable(安定版)には✓
が付与されています。
デフォルトではChannelがstable
(安定版)になっています。チャンネルは以下の4つが用意されていますがstable
以外は基本開発版なので案件ではそのままで良いと思います。
一応チャンネルを変更する方法も載せておきます。
プロジェクトでの使い方
プロジェクトでFVMを使ってFlutter SDKのバージョンを管理する方法をみていきます。使い方は簡単でプロジェクトルートに移動してfvm use stable
コマンドを実行するだけです。インストールしたいバージョンはチャンネル名もしくはバージョン自体を指定します。
このコマンドを実行すると.fvm
ディレクトリが生成されその中に以下のようなファイルたちが生成されます。
fvm_config.json
がプロジェクトごとに管理するための設定ファイルになります。
これで導入が完了できているのでプロジェクト内で操作する際にはflutter
コマンドではなくfvm flutter
コマンドを実行するようにすればOKです。
Android StudioでSDKを指定する
Android StudioでFlutterアプリを開発する際にSDKを指定するにはまずプロジェクトをAndroid Studioで起動し、上部メニュー「Android Studio」>「Settings...」>「Languages & Frameworks」>「Flutter」>「Flutter SDK Path」の部分からFVMでインストールしたFlutter SDKのパスを指定します。User/XXXXX/fvm/versions/
配下にFVMでインストールしたバージョンが存在するので適当なものを指定します。

指定できたら「Apply」を押してから「OK」をクリックすることで反映されます。
FVMで導入したSDKをグローバルで使用する
FVMで導入したSDKは基本的にはfvm_config.json
ファイルのあるプロジェクト内で使用します。ただグローバルでも使用できるようにしたい場合は以下のコマンドを実行します。
もしすでにグローバルに手動でインストール済みの場合は以下のように表示されます。これは「グローバルに切り替えを試みたけどまだflutter
コマンドはFVM経由ではない」と怒られています。
その場合は手動でインストールしていたFlutter SDKを一旦削除する必要があるので、which flutter
でインストール場所を見つけて削除し、fvmの方のパスを通してあげればOKです。
新規メンバーがFVM導入プロジェクトでやること
FVMを導入しているプロジェクトに新規メンバーが参入することになった場合はやってもらうことは2つだけです。
- FVM自体のインストール
- プロジェクトルートでfvm installコマンドの実行
これで指定されたバージョンのSDKがインストールされます。あとはfvm flutter
を使うことだけ周知すればOKかと思います。
不要になったSDKバージョンの削除
不要になったSDKバージョンを削除するにはremove
コマンドを使用します。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。