14
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

株式会社ピーアールオー(あったらいいな!を作ります) Advent Calendar 2023

Day 8

Flutterのバージョンを切り替える方法 ( git checkout )

Last updated at Posted at 2023-12-07

はじめに

株式会社ピー・アール・オー Advent Calendar 2023の 8日目です。

Flutterのバージョンを切り替えたい

基本的には最新にバージョンアップしていきたい!

...けど、バージョンアップすると、今まで動いてたのに動かないかも問題。
...でも先延ばしにしすぎると、修正範囲多くなっちゃうかも問題。

というわけで、先延ばしにしてきましたが、いざやります!

調べるとFVMとか出てきますが、本記事ではgit checkoutで試しましたの記事となります。
自分の備忘録として、載せたいと思います。

前提条件

・Mac
・Flutterの実行環境があること
・動作確認できるFlutterプロジェクトがあること

やりたいこと

・現状v3.3.9で動いてるプロジェクトを、v3.16.2でも動くか確認したい

確認結果

・v3.3.9:もちろん動くOK
・v3.3.10:あんまり変更ないので、そのままのコードで動いたOK
・v3.16.2:結構なバージョンアップなので、動かなかったNG
・v3.3.9に戻す:動いたOK
・"最新"にするとどうなるか:記載時点ではv3.16.2になる(3.17.0.x.x.preではなく)

1.現在のバージョンを確認する

Flutter情報
$ flutter --version
Flutter 3.3.9-0.0.pre.1 • channel stable •
https://github.com/flutter/flutter.git
Framework • revision bcff2f86cc (8 months ago) • 2023-03-31 10:29:54 +0900
Engine • revision 857bd6b74c
Tools • Dart 2.18.4 • DevTools 2.15.0

2.Flutterのフォルダを探して移動

Flutterフォルダを探す
$ which flutter
/Users/xxxx/develop/flutter/bin/flutter
移動(binの上のフォルダ)
$ cd /Users/xxxxx/develop/flutter

3.選べるバージョンを確認

選べるバージョンを探す
$ git tag -l '3.3*'
3.3.0
3.3.0-0.0.pre
3.3.0-0.1.pre
3.3.0-0.2.pre
3.3.0-0.3.pre
3.3.0-0.4.pre
3.3.0-0.5.pre
3.3.1
3.3.10
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.3.8
3.3.9

(3.3.9が一番下に出てくるけど、実は3.3.10もあるっていう見逃しがちに注意。。)

現在のブランチ確認
$ git branch
* stable

4. v3.3.9 から v3.3.10 に変更する

あんまり変更ないので、そのままのコードで動くことを確認できたのでOK!

変更
$ git fetch
$ git checkout 3.3.10
現在のブランチ確認
$ git branch
* (HEAD detached at 3.3.10)
  stable
Flutter情報
$ flutter --version
Flutter 3.3.10 • channel unknown • unknown source
Framework • revision 135454af32 (12 months ago) • 2022-12-15 07:36:55 -0800
Engine • revision 3316dd8728
Tools • Dart 2.18.6 • DevTools 2.15.0

5. v3.3.10 から v3.16.2 に変更する

結構なバージョンアップなので、そのままのコードで動かなくてNG。

変更
$ git fetch
$ git checkout 3.16.2
現在のブランチ確認
$ git branch
* (HEAD detached at 3.16.2)
  stable
Flutter情報
$ flutter --version
Flutter 3.16.2 • channel [user-branch] • unknown source
Framework • revision 9e1c857886 (3 days ago) • 2023-11-30 11:51:18 -0600
Engine • revision cf7a9d0800
Tools • Dart 3.2.2 • DevTools 2.28.3

ちなみに動かなかったエラーと原因はこちらでした。

動かないエラー
Downloading Web SDK...
Resolving dependencies...
Note: intl is pinned to version 0.18.1 by flutter_localizations from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.


Because xxxxxxx depends on flutter_localizations from sdk which depends on intl 0.18.1, intl 0.18.1 is required.
So, because xxxxxxx depends on intl ^0.17.0, version solving failed.


You can try the following suggestion to make the pubspec resolve:
* Try upgrading your constraint on intl: flutter pub add intl:^0.18.1
Exited (1)

pubspec.yamlのintlのバージョンを
エラーメッセージどおりにアップしたらOKに!

修正前:pubspec.yaml
  intl: ^0.17.0
修正後:pubspec.yaml
  intl: ^0.18.1

6. v3.16.2 から v3.3.9に戻す

動いてたバージョンに戻して、再度実行できることを確認できたのでOK!

変更
$ git fetch
$ git checkout 3.3.9

7. 最新バージョンにしたい場合

2023/12/06時点で、最新を取得するとv3.16.2になりました。

バージョンを確認
$ git tag -l '3.16.2*'
3.16.2
$ git tag -l '3.16.3*'
$ git tag -l '3.17.*'
3.17.0-0.0.pre
3.17.0-0.1.pre
3.17.0-1.0.pre
3.17.0-10.0.pre
3.17.0-11.0.pre
3.17.0-12.0.pre
3.17.0-13.0.pre
3.17.0-14.0.pre
3.17.0-15.0.pre
3.17.0-16.0.pre
3.17.0-17.0.pre
3.17.0-18.0.pre
3.17.0-19.0.pre
3.17.0-2.0.pre
3.17.0-3.0.pre
3.17.0-4.0.pre
3.17.0-8.0.pre
3.17.0-9.0.pre
変更
$ flutter channel stable
$ flutter upgrade
現在のブランチ確認
$ git branch
* stable
Flutter情報
$ flutter --version
Flutter 3.16.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 9e1c857886 (5 days ago) • 2023-11-30 11:51:18 -0600
Engine • revision cf7a9d0800
Tools • Dart 3.2.2 • DevTools 2.28.3

最後に

先延ばしにしないで、ちょいちょい更新して確認していくのが一番です (๑و•̀ω•́)و✧

14
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?