0

在 Flutter 开发过程中,我使用 ObjectBox 有一段时间没有遇到太多问题。但是现在 build_runner 失败了:-

  1. 我所做的最接近的更改是昨天的 Flutter 升级 - 到 Flutter 2.5.3 以及 Dart 2.14.4
  2. pubspec.yaml 中的 ObjectBox 依赖项是:-
objectbox: ^1.2.0

objectbox_flutter_libs: any
  1. 现在,虽然 objectbox-model.json 文件在那里,但 objectbox.g.dart 文件丢失并且不会重新生成。
  2. 然后我尝试运行官方 OB 文档中给出的两个示例项目,但这些项目也失败了,结果相似(在此之前它们运行良好)。

完整的构建堆栈如下;

** Microsoft Windows [版本 10.0.19042.1237] (c) Microsoft Corporation。版权所有。

D:\learnedfriend>flutter pub run build_runner watch --delete-conflicting-outputs

[INFO] 正在生成构建脚本...

[INFO] 生成构建脚本完成,耗时 462 毫秒

[INFO] 设置文件监视程序...

[INFO] 设置文件观察器完成,耗时 11 毫秒

[INFO] 等待所有文件观察者准备好...

[INFO] 等待所有文件观察者准备就绪,耗时 358 毫秒

[INFO] 初始化输入

[INFO] 正在读取缓存的资产图...

[INFO] 读取缓存资产图完成,耗时 126 毫秒

[INFO] 正在检查自上次构建以来的更新...

[INFO] 自上次构建完成后检查更新,耗时 6.3 秒

[信息] 正在运行构建...

[INFO] 运行构建完成,耗时 14 毫秒

[INFO] 正在缓存最终的依赖关系图...

[INFO] 缓存最终依赖图完​​成,耗时 54 毫秒

[严重] objectbox_generator:lib/$lib$ 上的生成器(缓存):

错误状态:lastRelationId 4:6834778133563033891 不匹配任何独立关系

[严重] 85 毫秒后失败***

非常感谢您对这种情况的任何建议。

谢谢,

4

1 回答 1

0

我找到了解决此问题的方法,并将其发布以供将来遇到相同问题的人使用。

您应该手动删除 objectbox-model.json 文件和 objectbox.g.dart(如果它仍然存在)并在项目文件夹中运行命令“flutter pub run build_runner watch --delete-conflicting-outputs”(不带引号,课程)。

另外,必须提到的是,在撰写本文时,如果 ObjectBox 是您持久性的预期选择,请注意(尽管它是一个优秀的包),如果您遇到问题,支持是在stackoverflow中非常低到零。我见过的贡献者不超过 2 或 3 个,如果您的问题没有引起他们的注意,那么您几乎只能靠自己了!

于 2021-11-03T16:25:28.700 回答