[Flutter] プロジェクトごとにFlutterのバージョンを管理する

今年の春にメモアプリを開発してリリースしました。

しかし、仕事が忙しかったり転職活動や結婚挨拶などでFlutterから遠ざかっていたので、Flutterのマイナーバージョンが10くらい変化していて驚きました。今から作成するプロジェクトはFlutterを最新(安定版)にして、メモアプリをFlutterのバージョンを当時使っていたバージョンに切り分けられたらなと思い、FVMを導入しようと考えました。今回は自分が導入した内容を記載しています。


FVMとは

FVM(Flutter Version Management)とは、コマンドを使用して複数のプロジェクトで異なるFlutterのバージョンを管理することができるツールです。
FVMの公式サイトはこちらになります。

1. Flutter SDKを削除

現在使用しているFlutter SDKを削除します。

2. FVMをインストール

fvmをHomebrewを使用してインストールを行います。

$ brew tap leoafarias/fvm
$ brew install fvm

インストール先は

~/fvm

に保存されています。

3. FVMでFlutterをインストール

FVMがインストールされたら、Flutterのバージョンを指定してインストールします。現在使用できるバージョンの一覧を、

$ fvm releases

で確認を行い、

# 3.16.4でインストールする場合
$ fvm install 3.16.4 

でインストールを行います。

4. 環境設定でPathを通す

.zshrcに環境変数を設定します。~/の場所で、command + shift + . を押下すると.zshrcが参照できます。

# .zshrc
export PATH="$PATH:$HOME/.pub-cache/bin"

5. VSCODEで設定する

VSCODEのsetting.jsonで

# setting.jsonの設定
{
   "dart.flutterSdkPath": ".fvm/flutter_sdk",
 
   // Remove .fvm files from search
   "search.exclude": {
       "/.fvm": true
   },
   // Remove from file watching
   "files.watcherExclude": {
       "/.fvm": true
   }
}

の設定を記載します。これで、VSCODE側がFlutterのバージョンを自動で読み込み込んでくれたり、ファイル検索したときにFVM関係のものは除外できます。

6. ちょっとした警告・エラー

6.1 警告

Flutter Doctorしたときに、Dartに警告が出ていました。Flutter Dartが複数入っていることが原因で、こちらの記事で解消。

6.2 エラー

flutter pub get でDartのバージョンを上げてくれと言われたので、対応できるFlutter のバージョンを変更することで対応できました(下記はエラー内容)。

json_serializable 6.7.1 requires SDK version ^3.0.0, json_serializable ^6.7.1 is forbidden.


7. fvmでプロジェクトを新規作成する

1. プロジェクトフォルダの作成し、移動する

$ mkdir test
$ cd test

2. fvmでFlutterのバージョンを指定

$ fvm use 3.16.4 --force

3. fvmでプロジェクトを作成する

com.sampleはCompany Domainなので好きなものを設定する

$ fvm flutter create . --project-name test_app --platforms android,ios --org com.sampleapp -e

まとめ

Flutterのバージョンをプロジェクトごとに切り替えて管理できるようにFVMを導入しました。意外と簡単で、最初から導入すればよかったなとホント思いました。開発頑張るぞ!

参考URL

1. FVMのやり方調査

2. Flutterに対応するDartのバージョン一覧を確認するために使用



この記事が気に入ったらサポートをしてみませんか?