【Flutter】build_runnerでNo actions completed for 15.1sが出て困って解決した話

Dart

概要

どうも、@daiki1003です!

freezedやjson_serializableを使っていると必須になってくる
build_runnerパッケージ。

build_runner | Dart Package
A build system for Dart code generation and modular compilation.

何が起きているのか?

実際に、必要になって動かしてみると

Bad state: Unexpected diagnostics:
/path/to/flutter/repo/bin/cache/dart-sdk/lib/core/uri.dart:3259:39 - Expected an identifier.
[SEVERE] freezed:freezed on lib/routes.dart:

に、似たエラーが10個ほど出た挙句

[INFO] 30.6s elapsed, 1/17 actions completed.
[WARNING] No actions completed for 15.1s, waiting on:

が出て終わらない始末。

前は、うまく行っていたのでFlutterのバージョン1.20に関わるエラーの様です。

やったことを備忘録的に残しながら解決までの道のりを記述したいと思います。
とりあえず解決策が知りたい人は上の目次から飛んでくださいね!

build.yamlの追加

最初は、ただビルド時間が長すぎるだけだと思い前にmonoさんが時短に成功したと言う
ツイートを元にbuild.yamlを追加しました。

ですが、これは効果なし。
早い遅いの問題ではないですね。

analyzerパッケージの導入

// pubspec.yaml

...

analyzer: ^0.39.14

...

こちらも効果なし。

–delete-conflicting-outputsフラグの追加

$ flutter pub run build_runner build

実行時の最後に –delete-conflicting-outputsフラグを追加して実行してみました。
(本文だと潰れてしまってますが、最初はハイフン2個です。)

が、これも効果なし。

一度まっさらにする

$ rm pubspec.lock
$ flutter clean
$ flutter pub run build_runner build --delete-conflicting-outputs

と実行してみるも効果なし。

analyzerのバージョン指定方法を変更 (解決!)

調べてみると同じ様な原因で失敗している人も結構いて、
その解決策の一つとして

analyzer: ^0.39.14

を指定すると言うものがありました。

僕はこれだと上述の様にうまくいかなかったのですが、

analyzer: 0.39.14

とするとうまく行きました!

誰かのお役に立てば。

Twitterフォローお願いします

「次回以降も記事を読んでみたい!」
「この辺分からなかったから質問したい!」

そんな時は、是非@daiki1003のフォローお願いします♪

コメント

タイトルとURLをコピーしました