#flutter #dart #objectbox #flutter-objectbox
Вопрос:
Я зарегистрировал свой магазин ObjectBox как LazySingleton с помощью этого метода
setupLocatorAdditions() async {
stackedAdditionLocator.registerLazySingletonAsync<Store>(() => openStore());
}
Что сработало отлично. Но после нескольких перестроек из BuildRunner генератор ObjectBox выдал эту ошибку, независимо от того, удалил ли я регистрацию одного элемента и повторно запустил ее.
lib/objectbox.g.dart:1341:67: Error: No named parameter with the name 'lazy'.
weekDays: const fb.ListReader<int>(fb.Int8Reader(), lazy: false)
^^^^
../../Flutter/flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.1/lib/flatbuffers/flat_buffers.dart:994:9: Context: Found this candidate, but the arguments don't match.
const ListReader(this._elementReader);
^^^^^^^^^^
lib/objectbox.g.dart:1343:68: Error: No named parameter with the name 'lazy'.
locations: const fb.ListReader<int>(fb.Int8Reader(), lazy: false)
^^^^
../../Flutter/flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.1/lib/flatbuffers/flat_buffers.dart:994:9: Context: Found this candidate, but the arguments don't match.
const ListReader(this._elementReader);
^^^^^^^^^^
2
FAILURE: Build failed with an exception.
Ответ №1:
Этот аргумент не является частью выпущенного objectbox-dart v1.1.1 (он был добавлен этим коммитом 13 дней назад, в то время как версия v1.1.1 была выпущена 19 дней назад).
Похоже, вы используете генератор несоответствий? Можете pubspec.yaml
ли вы проверить, используете ли вы переопределение зависимостей в objectbox_generator, например, из git? Если вы используете переопределение зависимостей, вам следует придерживаться определенной фиксации и убедиться, что вы используете ее как для генератора, так и для самой библиотеки objectbox. Если вам не нужно переопределение зависимостей, просто удалите его из своего pubspec.yaml
.
В обоих случаях запустите pub get
после внесения изменений и pub run build_runner build
.
Комментарии:
1. да, я просто использовал переопределение зависимостей для генератора, предложенного вами в моем последнем потоке, но не переопределил пакет objectbox. Теперь я сослался на ту же фиксацию для этого пакета, и она работала так, как и должна была. Еще раз спасибо вам