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

现有Flutter项目执行dart run build_runner build报错求助

Flutter项目执行dart run build_runner build失败的解决建议

问题描述

运行现有Flutter项目时出现错误,执行dart run build_runner build命令失败。已尝试flutter clean、重新安装Flutter、迁移至Linux系统、重新安装SDK等操作,问题仍未解决。

项目pubspec.yaml配置

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  webview_flutter: ^2.0.9
  flutter_inappwebview: ^5.3.2
  url_launcher: ^6.0.8
  flutter_svg: ^0.22.0
  uni_links: ^0.5.1
  flutter_webview_plugin: ^0.4.0
  flutter_share: ^2.0.0
  package_info_plus: ^1.0.6
  dio: ^4.0.0
  sign_in_with_apple: ^3.0.0
  google_sign_in: ^5.1.0
  json_serializable: ^4.1.4
  build: ^2.1.0
  get_it: ^7.2.0

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner:

解决步骤

  1. 调整依赖分类与版本

    • 将json_serializable和build从dependencies移至dev_dependencies,这两个属于开发阶段依赖,无需打包到生产环境
    • 为build_runner指定与json_serializable兼容的版本,比如build_runner: ^2.1.5(与json_serializable: ^4.1.4版本匹配)
      修改后的dev_dependencies部分:
    dev_dependencies:
      flutter_test:
        sdk: flutter
      build_runner: ^2.1.5
      json_serializable: ^4.1.4
      build: ^2.1.0
    
  2. 执行清理与依赖同步命令

    • 执行flutter clean清除旧的构建缓存
    • 执行flutter pub get重新拉取依赖
  3. 带参数执行build_runner
    使用--delete-conflicting-outputs参数解决可能存在的输出文件冲突问题:

    dart run build_runner build --delete-conflicting-outputs
    
  4. 验证SDK版本兼容性
    确保当前使用的Flutter SDK对应的Dart版本在>=2.12.0 <3.0.0范围内,避免因SDK版本超出范围导致的依赖不兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 04:15:36