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

Flutter SDK与syncfusion_flutter_datagrid版本冲突致依赖解析失败求助

解决方案:依赖冲突修复

核心问题

你使用的syncfusion_flutter_datagrid ^19.1.65-beta对collection包的版本限制(>=1.9.0 <=1.15.0),与Flutter SDK依赖的collection 1.16.0完全冲突,导致依赖解析失败。另外,你错误地将syncfusion_flutter_datagrid放在了dev_dependencies中——它属于运行时必须的依赖,应该移到dependencies节点下。

解决方法一:升级Syncfusion DataGrid到兼容版本

Syncfusion在20.1.48版本及以后已修复该依赖冲突,直接升级到该版本或更高稳定版即可:

修改你的pubspec.yaml配置:

name: datagrid_json_datasource
description: A new Flutter project.

publish_to: 'none' 
version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"
  
dependencies:
  http: ^0.12.0
  flutter:
    sdk: flutter
  intl: ^0.17.0
  cupertino_icons: ^1.0.2
  # 移至dependencies并升级版本
  syncfusion_flutter_datagrid: ^20.1.48 # 也可使用最新稳定版,如^25.2.3

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

执行命令完成依赖安装:

flutter pub get

解决方法二:依赖覆盖(临时方案,谨慎使用)

若因特殊原因无法升级Syncfusion版本,可通过dependency_overrides强制指定collection版本,但可能引发其他潜在兼容性问题,仅作为临时应急方案:

修改pubspec.yaml添加覆盖配置:

name: datagrid_json_datasource
description: A new Flutter project.

publish_to: 'none' 
version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"
  
dependencies:
  http: ^0.12.0
  flutter:
    sdk: flutter
  intl: ^0.17.0
  cupertino_icons: ^1.0.2
  # 移至dependencies
  syncfusion_flutter_datagrid: ^19.1.65-beta

dev_dependencies:
  flutter_test:
    sdk: flutter

# 添加依赖覆盖节点
dependency_overrides:
  collection: 1.15.0

flutter:
  uses-material-design: true

执行命令完成依赖安装:

flutter pub get

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:15:36