执行flutter pub upgrade --major-versions后版本不兼容问题求助
解决方法
方法1:锁定不兼容依赖的版本范围后再批量升级
先手动修改pubspec.yaml里冲突依赖的版本约束,把ffigen固定在当前SDK兼容的范围内:
ffigen: ^11.0.0 # 也可以更精确指定最大兼容版本:ffigen <=11.1.0
之后执行批量升级命令:
flutter pub upgrade --major-versions
该命令会尊重你手动设置的版本约束,仅升级未被限制的依赖到最新大版本,不会强制修改ffigen的版本。
方法2:逐个升级兼容的依赖
放弃批量升级,单独对确认兼容的依赖执行大版本升级:
flutter pub upgrade package_info_plus --major-versions flutter pub upgrade share_plus --major-versions
这样能避开ffigen这类和当前SDK冲突的依赖,后续如果要升级ffigen,要么同步升级Dart SDK,要么保持其现有版本。
方法3:升级Dart SDK到兼容版本(若项目允许)
如果项目没有旧版本SDK的依赖限制,可以先升级Dart SDK:
- 修改
pubspec.yaml里的SDK约束:environment: sdk: ">=3.3.0 <4.0.0" - 执行
flutter upgrade升级Flutter及配套的Dart SDK - 再运行
flutter pub upgrade --major-versions,此时ffigen 12.0.0的版本约束就能满足,不会出现解析失败问题。
内容的提问来源于stack exchange,提问作者Crag
相关产品推荐
相关产品推荐

