build_runner 无法编译其构建脚本,因为 Amplify 会引入 native-asset/"build hooks" 包 (sqlite3/jni)

作者: mattiLeBlanc创建于 2026年9月3日更新于 2026年9月6日

build_runner 无法编译其构建脚本,因为 Amplify 导入了 native-asset/"build hooks" 包 (sqlite3/jni),而这种组合目前在 Dart 工具中存在问题 (dart-lang/native#2792)。这是一个已知的结构冲突,它涉及 Dart 的新版本 Native Assets (构建钩子) 功能与 build_runner 如何编译其独立的构建脚本 (dart_tool/build/entrypoint/build.dart)。由于 build_runner 在底层使用 dart 编译将您的构建脚本编译为 AOT 快照,因此当 AWS Amplify 引入了传递依赖项 (sqlite3, jni) 并声明了 Native Assets 构建钩子时,就会触发严重失败。目前,如果树中的任何依赖项使用构建钩子,则 dart 编译将完全阻止编译。在 Dart 的本地工具链 (dart-lang/native#2792) 的根本问题得到修复之前,您可以使用以下工作绕过来解决代码生成问题:

内容来源: dotansimha/graphql-code-generator