You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter ObjectBox执行build_runner后不更新,删除文件报错求助

ObjectBox.g.dart 无法更新/重建的常见原因

执行flutter pub run build_runner build后ObjectBox.g.dart停止更新,删除后重建又出现Unable to read asset, could not compute transitive deps: project_data|lib/objectbox.g.dart警告,常见原因如下:

  • build_runner缓存或状态异常
    build_runner的缓存数据可能残留了旧的依赖记录,导致它误判文件状态。先执行清理命令重置状态:

    flutter pub run build_runner clean
    

    清理完成后再重新运行flutter pub run build_runner build尝试生成文件。

  • 实体类或配置文件存在语法错误
    带@Entity注解的实体类、objectbox-model.json配置文件如果有语法问题,会导致代码生成流程静默失败。检查:

    • 实体类的注解使用是否合规(比如@Id、@Property的参数是否正确)
    • objectbox-model.json的JSON格式是否完整(无逗号遗漏、引号不匹配等)
  • 依赖版本不兼容
    objectbox_flutter_libs、objectbox_generator与Flutter SDK版本不匹配时,会引发代码生成异常。打开pubspec.yaml检查这些依赖的版本号,确保彼此兼容(比如generator版本要和核心库版本对应)。

  • 文件引用路径错误
    如果data.dart中直接导入了objectbox.g.dart,删除该文件后这个引用会失效,导致build_resolvers无法解析依赖。暂时注释掉data.dart中的import 'objectbox.g.dart';语句,生成新文件后再恢复引用。

  • 文件权限问题
    在桌面或移动平台上,lib目录可能存在读写权限限制,导致build_runner无法创建新的ObjectBox.g.dart文件。检查目标目录的权限:

    • Linux/macOS下用ls -l lib/查看权限,确保当前用户有写入权限
    • Windows下确认该文件未被杀毒软件锁定,或目录未设置只读属性

内容的提问来源于stack exchange,提问作者w461

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:22:11