Flutter升级后Build_Runner生成Floor失败,如何修复?
Flutter升级后build_runner构建失败的修复方案
问题原因
错误源于floor_generator: ^1.4.1与新版本analyzer: 5.0.0的兼容性冲突:analyzer 5.0.0移除了DartType类的element getter,但floor_generator 1.4.1的代码仍在使用这个API,导致构建报错。
修复步骤
方案1:升级floor_generator到兼容版本
floor_generator在1.4.2及以上版本已修复该兼容性问题,直接更新依赖即可:
- 修改
pubspec.yaml中的依赖配置:floor_generator: ^1.4.2 # 或更高稳定版本 - 执行命令更新依赖:
flutter pub get - 重新运行构建命令:
flutter pub run build_runner build
方案2:强制锁定兼容的analyzer版本(临时方案)
如果暂时无法升级floor_generator,可通过依赖覆盖强制使用仍支持DartType.element的analyzer版本:
- 在
pubspec.yaml末尾添加:dependency_overrides: analyzer: ^4.7.0 - 执行
flutter pub get更新依赖后,重新运行构建命令。
方案3:清理缓存重试(若以上方案无效)
如果存在缓存残留导致的问题,可清理后重新操作:
- 清理pub缓存:
flutter pub cache clean - 重新拉取依赖:
flutter pub get - 带冲突删除参数运行构建:
flutter pub run build_runner build --delete-conflicting-outputs
内容的提问来源于stack exchange,提问作者Dmitry
相关产品推荐
相关产品推荐

