web-dev-qa-db-ja.com

flutter pub run build_runnerビルドが失敗しました

フラッターバージョン:

flutter_macos_v1.9.1+hotfix.2-stable

ターミナルで新しいプロジェクトを作成します。

flutter create myapp

vscodeを開いて編集pubspec.yaml

dependencies:
  json_annotation: ^3.0.0

dev_dependencies:
  build_runner: ^1.7.0
  json_serializable: ^3.2.2

ターミナルでパッケージを取得:

flutter pub get

新着 /lib/user.Dartと以下に記入:

import 'package:json_annotation/json_annotation.Dart';

part 'user.g.Dart';

@JsonSerializable()
class User extends Object {
  @JsonKey(name: 'seed')
  String seed;

  @JsonKey(name: 'results')
  int results;

  @JsonKey(name: 'page')
  int page;

  @JsonKey(name: 'version')
  String version;

  User(
    this.seed,
    this.results,
    this.page,
    this.version,
  );

  factory User.fromJson(Map<String, dynamic> srcJson) =>
      _$UserFromJson(srcJson);

  Map<String, dynamic> toJson() => _$UserToJson(this);
}

実行flutter pub run build_runner buildターミナル:

[INFO] Generating build script...
[INFO] Generating build script completed, took 321ms

[INFO] Creating build script snapshot......
[INFO] Creating build script snapshot... completed, took 10.4s

[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 698ms

[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 2ms

[INFO] Running build...
[SEVERE] json_serializable:json_serializable on lib/user.Dart:

Invalid argument(s): Path must be absolute : Dart:core
[SEVERE] json_serializable:json_serializable on lib/main.Dart:

Invalid argument(s): Path must be absolute : Dart:core
[SEVERE] json_serializable:json_serializable on test/widget_test.Dart:

Invalid argument(s): Path must be absolute : Dart:core
[INFO] Running build completed, took 1.5s

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 36ms

[SEVERE] Failed after 1.6s

なぜ成功しなかったのですか?

8
Smeegol

アナライザーがそれを壊しているようで、analyzer: 0.38.2にダウングレードすると解決しました。

ソース: https://github.com/Dart-lang/sdk/issues/38499#issuecomment-533812652

2
Reda Lazri

同じ問題がありました。

すべての* .g.Dartファイルを正常に生成します:

build_runner 0.9.2

json_serializable 0.5.8 + 1

json_annotation 0.2.9 + 1

1
user3297174

この状況ではそうではない可能性がありますが、自動フォーマッターがこの行を削除することで同様の問題が発生しました。

part 'my_class.g.Dart';

その行を追加してコマンドを再度実行すると、問題なく動作しました。

0
Andy