升级Flutter至3.3.0后,Retrofit生成.g.dart文件失败
解决Retrofit升级后build_runner编译错误问题
问题原因
你遇到的错误是因为retrofit和retrofit_generator版本不兼容:retrofit 3.3.0已经移除了autoCastResponse参数,但你使用的retrofit_generator 4.1.2仍在尝试调用这个已被移除的参数,导致编译失败。
解决步骤
1. 调整依赖版本至兼容组合
修改pubspec.yaml中的依赖,确保retrofit和retrofit_generator版本匹配。针对retrofit 3.3.0,需要将retrofit_generator升级到4.2.0及以上版本:
dependencies: retrofit: ^3.3.0 dev_dependencies: flutter_test: sdk: flutter retrofit_generator: ^4.2.0 # 升级到兼容版本 build_runner: ^2.2.1 json_serializable: ^6.4.1 dependency_overrides: analyzer: '5.1.0'
2. 更新依赖并重新生成代码
执行以下命令更新依赖:
flutter pub get
然后重新运行build_runner生成代码:
flutter pub run build_runner build --delete-conflicting-outputs
验证
你的RestClient代码本身没有问题,版本匹配后即可正常生成.g.dart文件。
内容的提问来源于stack exchange,提问作者Ahmad Raza
相关产品推荐
相关产品推荐

