执行build_runner命令未生成app_router.gr文件的问题排查
问题排查与解决
你的问题核心出在pubspec.yaml的依赖配置上,以下是具体问题和修复方案:
1. 缺少auto_route代码生成器依赖
auto_route需要配套的auto_route_generator才能生成路由文件,你当前的配置里完全没加这个关键依赖,这是导致app_router.gr.dart没生成的主要原因。
2. build_runner放错位置
build_runner是开发阶段用的代码生成工具,应该放在dev_dependencies下,而不是生产依赖的dependencies里。
3. 版本字段拼写错误
pubspec开头的ersion应该是version,虽然这个不直接影响代码生成,但会导致配置文件格式异常,建议一并修正。
修正后的pubspec.yaml关键片段:
version: 1.0.0+1 environment: sdk: '>=2.18.5 <3.0.0' dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 android_alarm_manager_plus: ^3.0.2 alarm: ^1.1.5 shared_preferences: ^2.1.1 audioplayers: ^4.1.0 flutter_local_notifications: ^14.1.0 flutter_background_service: ^5.0.1 device_info_plus: ^9.0.2 image: ^4.0.17 flutter_timezone: ^1.0.6 android_long_task: ^1.0.0 equatable: ^2.0.5 bloc: ^8.1.2 flutter_form_builder: ^9.1.0 flutter_secure_storage: ^9.0.0 dio: ^5.3.2 jwt_decode: ^0.3.1 json_annotation: ^4.8.1 get_it: ^7.6.0 auto_route: ^7.8.3 flutter_bloc: ^8.1.3 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0 json_serializable: ^6.7.1 json_annotation: ^4.8.1 build_runner: ^2.4.6 auto_route_generator: ^7.3.1 # 新增该依赖,版本与auto_route保持匹配
修复后执行步骤:
- 运行
flutter clean清除项目缓存 - 运行
flutter pub get拉取新配置的依赖 - 重新执行生成命令:
dart run build_runner build --delete-conflicting-outputs
完成以上操作后,就能正常生成app_router.gr.dart文件了。
内容的提问来源于stack exchange,提问作者Orl13
相关产品推荐
相关产品推荐

