0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【Flutter】asdfの管轄外でFlutterをインストール/アップグレードしてしまった時

Last updated at Posted at 2024-07-05

概要

バージョン管理ツールのasdfでFlutterのバージョンを管理しているにも関わらず、プロジェクトディレクトリ内で直接Flutterをインストール/アップグレードしてしまった時の対処法です。

環境

MacBook Pro M1 2020
メモリ:16GB
macOS:Sonoma

結論

プロジェクトディレクトリで

which flutter

を打って/Users/username/.asdf/shims/flutterを指定している場合は正しくasdfを参照できています。参照元が正しいことを確認できた場合、一旦asdfでFlutterをアンインストールし、再度インストールしましょう!

1.プロジェクトディレクトリにいる状態ですべてのバージョンのFlutterをアンインストール

asdf uninstall flutter

2.Flutterが正しく削除されたことを確認

which flutter

3.Flutterをインストール("バージョン"は3.19.3-stable等バージョンを指定します。)

asdf install flutter バージョン

4.flutterが正しくインストールされたことを確認

flutter doctor -v

上記の方法でFlutterバージョンをasdfの管理下に戻すことができます🎉

※pubのパッケージを利用している場合はプロジェクトをビルドする前にflutter clean && flutter pub getを実行してpackage導入とクリーンをしましょう!

背景

プロジェクトディレクトリでflutter upgradeを誤って実行し、問答無用で最新版にアップデートされてしまったのを元に戻すところでハマってしまいました。

当時の状況

  • asdfでPCのデフォルトとしてglobal設定しているFlutterバージョンは3.19.3-stable
  • asdfでプロジェクトディレクトリのバージョンとしてlocal設定しているFlutterバージョンは3.13.8
  • プロジェクトのリモートdevelopブランチで使っているFlutterバージョンは3.19.3
  • プロジェクトのリモートdevelopブランチをpullした後プロジェクトディレクトリのバージョンを変更しようとした際に誤ってflutter upgradeを実行し直接上げてしまったFlutterバージョンは3.22.2

本来はasdfでバージョンを管理しているのでflutter upgradeをする必要はありません。プロジェクトのflutterバージョンとプロジェクトディレクトリのflutterバージョンが異なることに起因するビルドエラーから頭がこんがらがり、気づいたら間違えてflutter upgradeを打っていました。着々と最新バージョンがインストールされていく様子に思考が停止しました...
asdfの管理外で直接flutterのバージョンを上げてしまったものの、プロジェクトディレクトリが参照しているのはasdfのままでした。asdfが管理するflutterのフォルダに、直接インストールした最新バージョンの中身が突っ込まれている状態です。新しいバージョンも含め丸ごと消して解決したということになります。

本来行うべきasdfを使ったバージョン管理の方法

プロジェクトディレクトリで使うFlutterバージョンを指定する時

asdf local flutter バージョン

asdfでバージョン管理をしている場合、本来は上記のコマンドを打つだけでバージョンを指定することができます。

備考

asdfで管理している場合、そうでない場合も、flutter downgradeコマンドは効果がありません。asdfで管理している場合はasdfでバージョン指定を、そうでない場合はGitからFlutterの過去バージョンを取得してダウングレードすることができます。方法はさまざまな記事がありますのでご参照ください。

おわりに

一度失敗したのでもう失敗はしないですね!
最後までお読みいただき、ありがとうございました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?