🐵

Flutter json_serializableのビルド中に起きた無限ループを解決した

2021/03/22に公開

起こったこと

https://qiita.com/kitoko552/items/81168294f5738175ff1d
この記事を参考にjson_serializableを使った実装を行おうとしたところ、build_runnnerを動かしているときに無限ループが発生した。

エラー発生条件

上記のqiitaを参考にファイルを作成後、ターミナルで
flutter packages pub run build_runner build
を実行する。

エラー文

[INFO] 10.0s elapsed, 1/3 actions completed.
[INFO] 11.1s elapsed, 1/3 actions completed.
[INFO] 12.2s elapsed, 1/3 actions completed.
[INFO] 13.2s elapsed, 1/3 actions completed.
[INFO] 14.3s elapsed, 1/3 actions completed.
[INFO] 15.4s elapsed, 1/3 actions completed.
[INFO] 16.5s elapsed, 1/3 actions completed.
[WARNING] No actions completed for 15.1s, waiting on:

これが繰り返される。

解決策

ここに原因と解決策が載っていた。
https://github.com/flutter/flutter/issues/56779
どうやらanalyzerが悪さをしているらしい。
上記のissuesには、analyzerをダウングレードする方法が書かれてたが、調べたところanalyzer 0.40.2で修正されたようなので、今回はアップグレードすることにしました。

pubspec.yaml
dev_dependencies:
    analyzer: "0.40.2"

上記を追加して、
flutter clean
flutter pub get
flutter packages pub run build_runner build
の順で実行したところ、解決された。

Discussion