Генератор 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 дней назад).

Похоже, вы используете несовпадающий генератор? Можете ли вы проверить, используете ли вы переопределение зависимости от objectbox_generator, например, из git? Если вы используете переопределение зависимости, вам следует придерживаться определенного коммита и убедиться, что вы используете его как в генераторе, так и в самой библиотеке объектных блоков. Если вам не нужно переопределение зависимости, просто удалите его из своего pubspec.yaml.

В обоих случаях запустите pub get после внесения изменений и pub run build_runner build.

Другие вопросы по тегам