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
相关产品推荐
相关产品推荐

