Команда Flutter build_runner создает дубликаты файлов и папок

#xcode #flutter #build

Вопрос:

Я работаю с устаревшим проектом в flutter, который использует build_runner для создания моделей для сериализации. Я использую flutter packages pub run build_runner build --delete-conflictbining-outputs это для работы, однако это создает всевозможные проблемы. А именно дубликаты файлов и папок, которые все портят.

Теперь это не было бы такой большой проблемой, если бы это касалось только файлов, но в какой-то момент это создало .dart_tool дубликаты имен .dart_tool 2 . Он всегда ставит 2 в конце каждого дубликата. Это кажется случайным, так как некоторые файлы или папки дублируются один раз, но не другой при выполнении команды. Это очень странная вещь, которую я никогда раньше не видел и не могу найти для нее никакого решения. Я попытался проверить проблемы с репо на github в пакете build_runner, но не смог найти ничего подобного. Интересно, сталкивался ли кто-нибудь когда-нибудь с этой проблемой?

Самая большая проблема заключается в том, что это приводит к тому, что Xcode полностью замораживает приложение, делая его совершенно непригодным для использования. Он также застревает flutter clean при очистке рабочего пространства xCode и просто загружается на неопределенный срок.

pubspec.yaml

 dependencies:
  flutter:
    sdk: flutter

  flutter_localizations:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.3
  uni_links: ^0.5.1
  firebase_core: "^1.6.0"
  firebase_messaging: ^10.0.7
  firebase_crashlytics: "^2.2.1"
  redux: "^5.0.0"
  redux_logging: "^0.5.0"
  flutter_redux: "^0.8.2"
  shared_preferences: "^2.0.8"
  redux_persist_flutter: "^0.9.0"
  http: "^0.13.3"
  uri: ^1.0.0 
  uuid: "^3.0.3"
  local_auth: "^1.1.8"
  url_launcher: ^6.0.11
  package_info: ^2.0.2
  version: ^2.0.0
  flutter_sticky_header: "^0.6.0"
  trotter: "^1.0.2"
  webview_flutter: "^2.0.14"
  auto_size_text: "^2.1.0"

  built_value: ^8.1.2


dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner: ^2.1.2
  built_value_generator: ^8.1.2
 

при запуске flutter doctor он не показывает никаких проблем.

Ответ №1:

Хорошо, это очень вводящая в заблуждение тема. Это была вовсе не команда. На самом деле это произошло со многими другими, но не из-за build_runner, а из-за синхронизации файлов и папок iCloud, и по какой-то причине это дублирует вещи. Поэтому я просто отключил синхронизацию iCloud, и это решило проблему.