変わらぬ、バージョン
Flutterアプリ開発中、バージョン違いによる不具合の可能性を検証するため、最新バージョンへのアップデートを試みた。
が、flutter upgrade
で想定していたバージョンへ更新されない現象に遭遇。その顛末をメモしておく。
flutter upgradeで更新をかける
flutter --version
でバージョンを確認。現在のバージョンは1.9.1+hotfix.6
となっている。
Flutter 1.9.1+hotfix.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 68587a0916 (9 weeks ago) • 2019-09-13 19:46:58 -0700
Engine • revision b863200c37
Tools • Dart 2.5.0
flutter version
でバージョンリストを表示
v1.12.2
v1.12.1
v1.12.0
v1.11.0
v1.10.16
v1.10.15
v1.9.1+hotfix.6
v1.9.1+hotfix.5
...
v1.12.2
が出ていた。とりあえず最新バージョンへ更新してみよう。
flutter upgrade
で更新をかけて、flutter --version
で再度バージョンを確認。
Flutter 1.9.1+hotfix.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 68587a0916 (9 weeks ago) • 2019-09-13 19:46:58 -0700
Engine • revision b863200c37
Tools • Dart 2.5.0
1.9.1+hotfix.6
のままだ…
チャンネル毎にリリースバージョンを管理
バージョン情報をよく見てみると、channel stableと書かれていた。
Flutter 1.9.1+hotfix.6 • channel stable
アップデート関連のドキュメントによると、Flutterにはリリースチャンネルという概念があるようだ。
Upgrading Flutter | Switching Flutter channels - Flutter
さっそくflutter channel
コマンドでチャンネルを確認。
Flutter channels:
beta
dev
master
* stable
現状のstable
のほか、安定性の高い順にmaster
、dev
、beta
というチャンネルが存在している。
どうやらこれらのチャンネル毎に、リリースバージョンを管理している模様。
Flutter SDK releases - Flutter
本記事執筆時点では、stable
の最新バージョンがv1.9.1+hotfix.6
、dev
の最新バージョンがv1.12.2
といった具合だ。
flutter version
コマンドのバージョン一覧では、チャンネルに関する明記がなかったこともあり、v1.12.2
が降ってくるものだと勘違いしていた。
stableは安定版
stable
は安定版ということで、最新のリリースバージョンが必要でない限り、stable
チャンネルの使用が推奨されている。
stable
When we believe we have a particularly good build, we promote it to the stable channel. We intend to do this more or less every quarter, but this may vary. We recommend that you use this channel for all production app releases. We may ship hotfixes to the stable channel for high-priority bugs, although our intent is to do this rarely.
Flutetrインストール時、特にチャンネルをいじった覚えは無いので、デフォルトでstable
が選択されていたものと思われる。
チャンネルを変更してupgrade
試しにdev
チャンネルに切り替えて、v1.12.2
が使えるか見てみた。
flutter channel
コマンドに対象チャンネルを指定して切り替え。
$ flutter channel dev
$ flutter channel
Flutter channels:
beta
* dev
master
stable
チャンネル変更後にflutter upgrade
を実行(めっちゃ時間かかる)
$ flutter upgrade
flutter --version
でバージョンを確認。
Flutter 1.12.2 • channel dev • https://github.com/flutter/flutter.git
Framework • revision 6de6267942 (4 days ago) • 2019-11-13 14:37:20 -0800
Engine • revision b358dc58fb
Tools • Dart 2.7.0
ねんがんのv1.12.2
を 手に入れたぞ!
flutter upgrade
で想定していたバージョンへ更新されない場合は、チャンネルを確認するようにしましょう。
ちなみにflutter version
コマンドで、特定バージョンを指定した切り替えも可能。
$ flutter version v1.9.1+hotfix.3
なお、今回検証したかった不具合は変わらず、別問題の可能性もある模様。