Почему build_runner не генерирует файлы при сериализации JSON в dart / flutter - PullRequest
1 голос
/ 09 января 2020

Я просто пытаюсь сгенерировать мои файлы с помощью той же команды, которую я хранил около 3 месяцев go (я не очень хорошо разбираюсь в бэкенде и devops), и теперь он больше не генерирует файлы. Он говорит мне использовать команду удаления, которую я не помню, но даже при ее использовании мои файлы все равно не будут сгенерированы. Вот так выглядит мой журнал, и ниже вы можете найти код для простого класса.

Одна из моих догадок состоит в том, что это как-то связано с тем, что я меняю свою учетную запись на github, поскольку упоминается проблема с разрешениями. .

Я использую против кода в windows 10.

файл журнала:

E:\1 Work\flutter_pilot> flutter pub run build_runner build
[INFO] Generating build script...
[INFO] Generating build script completed, took 336ms

[WARNING] Deleted previous snapshot due to missing asset graph.
[INFO] Creating build script snapshot......
[INFO] Creating build script snapshot... completed, took 12.5s

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

[INFO] Checking for unexpected pre-existing outputs....
[INFO] Found 13 declared outputs which already exist on disk. This is likely because the`.dart_tool/build` folder was deleted, or you are submitting generated files to your source repository.
[SEVERE] Conflicting outputs were detected and the build is unable to prompt for permission to remove them. These outputs must be removed manually or the build can be run with `--delete-conflicting-outputs`. The outputs are: lib/models/advisory-service-item.g.dart
lib/models/advisory-service.g.dart
lib/models/auth.g.dart
lib/models/contract.g.dart
lib/models/contributor.g.dart
lib/models/exact-cost-values.g.dart
lib/models/exact-cost.g.dart
lib/models/expert.g.dart
lib/models/paginator-info.g.dart
lib/models/person.g.dart
lib/models/project.g.dart
lib/models/system-country.g.dart
lib/models/user.g.dart
pub failed (78)

файл класса:

import 'package:json_annotation/json_annotation.dart';
part 'organisation.g.dart';

@JsonSerializable()
class Organisation {
  final String name;
  Organisation({this.name});

  factory Organisation.fromJson(Map<String, dynamic> json) => _$OrganisationFromJson(json);

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

Ответы [ 4 ]

1 голос
/ 09 января 2020

Если вы внимательно прочитаете сообщение об ошибке, вы увидите, что он просит вас попробовать добавить --delete-conflicting-outputs в конце вашей команды. Поэтому вы должны попробовать flutter packages pub run build_runner build --delete-conflicting-outputs.

0 голосов
/ 21 апреля 2020

В моем случае, я объявил файл dart с именем Organisation.dart вместо маленькой буквы organisation.dart, преломив его и снова запустив сборщик сборок.

0 голосов
/ 20 февраля 2020

Удалите .dart_tool папку и запустите flutter pub get. После этого выполните команду build runner

0 голосов
/ 10 января 2020

Запуск обновления флаттера паба решил проблему для меня.

...