「Flutter Advent Calendar 2022」に参加させて頂きます!一応作成日にマッチさせてるし、開いている、クレームは言われないよね?。13日目です。
エラー内容
Githubからcloneしたてのプロジェクトに対して、「flutter pub get」からの「flutter pub run build_runner build」を実施したら、以下のエラーが発生した。
Unhandled exception:
Bad state: Unable to generate package graph, no `[プロジェクトへのパス]/.dart_tool/flutter_gen/pubspec.yaml` found.
#0 _pubspecForPath (package:build_runner_core/src/package_graph/package_graph.dart:232:5)
#1 _parsePackageDependencies (package:build_runner_core/src/package_graph/package_graph.dart:206:21)
#2 PackageGraph.forPath (package:build_runner_core/src/package_graph/package_graph.dart:101:33)
#3 main (file:///Users/user/flutter/.pub-cache/hosted/pub.dartlang.org/build_runner-2.3.2/bin/build_runner.dart:27:30)
環境
プロジェクトで国際化対応をしている
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.9, on macOS 12.3.1 21E258 darwin-arm, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability
解決策
flutter gen-l10n
多言語対応のファイルを作成すると、一緒に「.dart_tool/flutter_gen/pubspec.yaml」も生成されました。build_runner の前に、gen-l10nをしないといけないのね、、逆かと思ってました(CodeMagicでは、gen-l10nが後でも動いている)。
他にもAndroid Studio で pubspec.yamlを表示して、右上の[pub get]ボタンを押したら直ったらしいです。
参考(にならなかった、今回は)
flutter pub run build_runner build でエラー
[build_runner 1.10.3] Bad state: Unable to generate package graph