Flutterのバージョンをプロジェクト毎に管理してみた

Flutterのバージョンをプロジェクト毎に管理してみた

2022.10.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Flutterのバージョンを切り替えて開発をする機会がありましたので、Flutter Version Management(FVM)を導入してみました。開発チームでFlutterのバージョンを合わせたり、プロジェクトでFlutterのバージョン管理をする場合に便利です。

HomebrewでFVMをインストール

HomebrewでFVMをインストールします。

			
			
brew tap leoafarias/fvm
brew install fvm

		

既にFlutter SDKをインストールしている場合、競合を回避するため事前に削除しておく必要があります。

プロジェクトの設定

Flutterのバージョンを指定

使用可能なFlutterのバージョン一覧を取得します。

			
			
fvm releases

		

プロジェクトのルートディレクトリに移動して、プロジェクトで使用するFlutterのバージョンを指定します。対象のバージョンがインストールされていない場合、Flutterをインストールするか聞かれますので、Yes(Y)を入力してインストールを開始します。

			
			
fvm use 3.0.5

		

プロジェクトで既に.fvm/fvm_config.jsonが存在する場合は、事前に定義されたFlutterのバージョンをインストールします。

			
			
fvm install

		

.gitignoreの設定

プロジェクトの.gitignoreにFlutter SDKへの相対シンボリックリンクを追加します。

			
			
〜〜〜
.fvm/flutter_sdk

		

VS Codeの設定

VS Codeの設定でFlutter SDKのパスを指定します。

			
			
{
  "dart.flutterSdkPath": ".fvm/flutter_sdk",
  "search.exclude": {
    "**/.fvm": true
  },
  "files.watcherExclude": {
    "**/.fvm": true
  }
}

		

VS Codeを開き直すと設定が反映されます。これでVS CodeではFVMで指定したFlutterのバージョンが使われることになります。

Flutterのコマンドを使用

Flutterのコマンドを使用する場合は、先頭にfvmをつけてコマンドを実行します。

			
			
# 例
fvm flutter --version
fvm flutter doctor
fvm flutter run

		

毎回fvmを付けたくない場合は、エイリアスを設定します。

			
			
# zshの場合
echo 'alias flutter="fvm flutter"' >> ~/.zshrc
source ~/.zshrc

		

プロジェクト以外でFlutterのコマンドを使用

プロジェクト以外でFlutterのコマンドを使用するにはグローバルバージョンを設定します。

			
			
fvm global 3.3.3

		

パスを通します。

			
			
# zshの場合
echo 'export PATH="$PATH:$HOME/fvm/default/bin"' >> ~/.zshrc
source ~/.zshrc

		

プロジェクト以外でもFlutterコマンドが使えるようになります。先頭にfvmを付ける必要はありません。

			
			
flutter --version

		

Flutterのバージョンを削除

Flutterのバージョンは次のコマンドで削除できます。

			
			
fvm remove 3.0.5

		

まとめ

FVMは他言語のバージョン管理ツールと使い方も似ているため直感的に利用することができました。設定をしておけばプロジェクトを開いた際に自動でFlutterのバージョンが切り替わるので、複数のプロジェクトに参加している場合はとくに役立つツールだと思います。

参考資料

この記事をシェアする

FacebookHatena blogX

関連記事