変わらぬ、バージョン
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
なお、今回検証したかった不具合は変わらず、別問題の可能性もある模様。
![]()