🦔
既存プロジェクトを Flutter2.0 向けにアップデート対応してみた
さて、Flutter2.0 がリリースされましたね。
Flutter 2.0.0 release notes - Flutter
そこで既存の Flutter のプロジェクトにて、Flutter2.0 向けにアップデート対応をしましたので、備忘録として手順をまとめておきます。
手順
Flutter および各パッケージのバージョンアップ
ターミナル等でプロジェクトのルートに移動し、下記の 3 つのコマンドを実行します。
cd [プロジェクトのパス]
flutter pub upgrade
flutter pub outdated
flutter pub upgrade --major-versions
これにより、Flutter のアップデートおよびプロジェクト内で使用しているパッケージのバージョンも更新されます(pubspec.yaml
が自動的に書き変わります)。
ですが、私の環境ではflutter pub upgrade
コマンドを実行した際、下記のようなエラーが出ました。
flutter pub upgrade
Resolving dependencies...
Because god_voice_flutter depends on flutter_localizations any from sdk which depends on intl 0.17.0, intl 0.17.0 is required.
So, because god_voice_flutter depends on intl ^0.16.1, version solving failed.
pub finished with exit code 1
この場合、エラー文通りにintl
のバージョンを修正し、flutter pub get
コマンドを実行すれば大丈夫です。
pubspec.yaml
dependencies:
intl: ^0.17.0
Web でビルドするための設定を行う
ターミナル等でプロジェクトのルートに移動し、下記の 2 つのコマンドを実行します。
cd [プロジェクトのパス]
flutter config --enable-web
flutter create --org [アプリのパッケージ名] .
1 つ目のコマンドで Web 版への対応を有効にし、2 つ目のコマンドでプロジェクトを再構築します。
これにより、main.dart
および、web フォルダとその配下にファイル群が生成されます。
アプリを実行する際、デバイスとして Chrome(web)が選べるようになるはずです。
まとめ
既存プロジェクトを Flutter2.0 向けにアップデート対応してみました。
対応自体は基本的にコマンドを実行していくだけなので、さほど難しくはなかったです。
ただ、既存プロジェクトですとだいぶ影響が大きい(使用しているパッケージが Web に対応していないなど)ため、初期段階で早めに対応すると良さそうです。
Discussion