Flutter 构建与修复¶
此命令会调用 dart-build-resolver 代理,以最小化改动的方式增量修复 Dart/Flutter 构建错误。
此命令的工作方式¶
- 执行诊断:运行
flutter analyze、flutter pub get - 解析错误:按文件分组,并按严重程度排序
- 增量修复:一次修复一个错误
- 验证每次修复:每次更改后重新运行分析
- 报告摘要:显示已修复项和剩余项
使用时机¶
使用 /flutter-build 的情况:
- 当 flutter analyze 报告错误时
- 当任一平台的 flutter build 失败时
- 当 dart pub get / flutter pub get 因版本冲突失败时
- 当 build_runner 代码生成失败时
- 拉取了破坏构建的更改之后
执行的诊断命令¶
# 分析
flutter analyze 2>&1
# 依存関係
flutter pub get 2>&1
# コード生成(プロジェクトがbuild_runnerを使用する場合)
dart run build_runner build --delete-conflicting-outputs 2>&1
# プラットフォームビルド
flutter build apk 2>&1
flutter build web 2>&1
通常修复的错误¶
| 错误 | 典型修复 |
|---|---|
A value of type 'X?' can't be assigned to 'X' |
?? default 或添加 null 守卫 |
The name 'X' isn't defined |
添加 import 或修正拼写错误 |
Non-nullable instance field must be initialized |
添加初始化器或 late |
Version solving failed |
调整 pubspec.yaml 中的版本约束 |
Missing concrete implementation of 'X' |
实现缺失的接口方法 |
build_runner: Part of X expected |
删除旧的 .g.dart 并重新构建 |
修复策略¶
- 先处理分析错误 — 代码必须无错误
- 其次分诊警告 — 修复可能引发运行时 bug 的警告
- 第三处理 pub 冲突 — 修复依赖解析
- 一次修复一个 — 验证每次更改
- 最小化更改 — 不重构,仅修复
停止条件¶
代理在以下情况下停止并报告: - 尝试 3 次后同一错误仍然存在 - 修复引入了更多错误 - 需要架构变更 - 包升级冲突需要用户判断
相关命令¶
/flutter-test— 构建成功后运行测试/flutter-review— 审查代码质量verification-loop技能 — 完整验证循环
相关¶
- 代理:
agents/dart-build-resolver.md - 技能:
skills/flutter-dart-code-review/
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC