Help us understand the problem. What is going on with this article?

Flutter Web: webdev could not run for this project.

More than 1 year has passed since last update.

今日、突如として webdev build を実行すると webdev could not run for this project. とエラー表示され、ビルドできなくなりました。

こういう原因らしいです。

This version of webdev does not support the `build_daemon` protocol used by your version of `build_runner`.
A newer version of webdev is available which supports your version of the `build_daemon`. Please update.

何の事かわかりません(涙目
たぶん、 pub get やれと言われ、無意識にやってこうなったのだと思います。

対策

pubspec.yamldev_dependencies

build_runner: 1.6.1
build_daemon: 1.1.0

にバージョンを戻すよう設定したら webdev build に成功するようになりました。

versions.png

くわしい状況

エラーの補足に Please update. とあるので、極力アップデートする方向でなんとかならないか調べていたのですが、うまくいきませんでした。

新規プロジェクトでHelloWorld的なやつも作ったのですが、それもビルドに失敗するようになっていました。
(どうやら私のクソコードが原因では無いようです)

その時の pubspec.yamldev_dependencies の内容。
build_daemon は特に指定していませんでした。

dev_dependencies:
  build_runner: ^1.4.0
  build_web_compilers: ^2.0.0
  pedantic: ^1.0.0
  json_serializable: ^2.0.0

この記述だと
build_runner: 1.6.4
build_daemon: 2.0.0
となってしまうようです。

pubspec.lock の内容

  build_runner:
    dependency: "direct dev"
    description:
      name: build_runner
      url: "https://pub.dartlang.org"
    source: hosted
    version: "1.6.4"

  build_daemon:
    dependency: transitive
    description:
      name: build_daemon
      url: "https://pub.dartlang.org"
    source: hosted
    version: "2.0.0"

バージョンを上げる方向で調べていて埒があかなかったので、輝いていたアノ頃を思い出しながら、ぽちぽちバージョンを戻していきました。

build_runner build_daemon 結果 原因
1.6.4 2.0.0 NG ビルドエラー
1.6.3 2.0.0 NG ビルドエラー
1.6.2 2.0.0 NG ビルドエラー
1.6.1 2.0.0 NG packageのバージョンが合わない
1.6.4 1.1.0 NG packageのバージョンが合わない
1.6.3 1.1.0 NG packageのバージョンが合わない
1.6.2 1.1.0 NG packageのバージョンが合わない
1.6.1 1.1.0 OK
matsukatsu
フロントエンドに興味があるエンジニア
cloudpack
Amazon Web Services (AWS) の導入設計、環境構築、運用・保守をサポートするマネジドホスティングサービス
https://cloudpack.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away