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

使用riverpod_generator遭遇依赖冲突及build_runner执行失败求助

问题原因

你遇到的是analyzer版本不兼容导致的编译错误。手动覆盖analyzer: ^6.9.0后,依赖链实际拉取了更高版本的analyzer(7.4.5),而旧版本analyzer_plugin:0.12.0不支持analyzer 7.x的API变更(比如Element/Element2类型拆分、方法名调整),从而触发类型不匹配和方法不存在的报错。

解决方案

1. 移除错误的依赖覆盖

删掉dependency_overrides中的analyzer配置,让pub自动处理兼容版本:

# 移除这段配置
dependency_overrides:
  analyzer: ^6.9.0

2. 统一Riverpod生态版本

确保flutter_riverpod、riverpod_annotation、riverpod_generator、riverpod_lint版本完全一致,避免跨版本兼容性问题:

dependencies:
  # ... 其他依赖
  flutter_riverpod: ^2.6.4
  riverpod_annotation: ^2.6.4

dev_dependencies:
  # ... 其他依赖
  riverpod_generator: ^2.6.4
  riverpod_lint: ^2.6.4

3. 更新dev依赖到兼容版本

升级custom_lint到支持最新analyzer的版本,同时确保其他代码生成工具版本兼容:

dev_dependencies:
  # ... 其他依赖
  custom_lint: ^0.7.2
  build_runner: ^2.4.13

4. 清理缓存并重新获取依赖

执行以下命令彻底清理缓存,拉取兼容的依赖包:

fvm flutter pub cache clean
fvm flutter pub get

5. 重新运行build_runner

使用dart run替代已废弃的flutter pub run命令:

fvm dart run build_runner build --delete-conflicting-outputs

完整修改后的pubspec.yaml示例

environment:
  sdk: ^3.6.0

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.8
  flutter_screenutil: ^5.9.3
  go_router: ^14.6.3
  flutter_riverpod: ^2.6.4
  riverpod_annotation: ^2.6.4
  flutter_svg: ^2.0.17
  drift: ^2.24.0
  drift_flutter: ^0.2.4
  upgrader: ^11.3.1
  freezed_annotation: ^2.4.4
  json_annotation: ^4.9.0
  dartz: ^0.10.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^5.0.0
  riverpod_generator: ^2.6.4
  custom_lint: ^0.7.2
  riverpod_lint: ^2.6.4
  drift_dev: ^2.24.0
  freezed: ^2.5.8
  json_serializable: ^6.9.3
  build_runner: ^2.4.13

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:52:04