Flutter项目依赖安装失败求助:logger包与Dart SDK版本冲突
执行
flutter pub get时的依赖版本冲突问题 运行flutter pub get或启动Flutter项目时出现以下错误:
flutter pub get Resolving dependencies... (3.2s) The current Dart SDK version is 3.4.3. Because logger 0.9.4 doesn't support null safety and no versions of logger match >0.9.4 <0.10.0, logger ^0.9.4 is forbidden. So, because farmassist depends on logger ^0.9.4, version solving failed. The lower bound of "sdk: '>=2.2.0 <3.0.0'" must be 2.12.0 or higher to enable null safety.
已尝试但无效的操作
- 将logger包升级至最新版本
- 移除代码中的logger依赖并测试运行
解决步骤
1. 更新项目SDK版本约束
打开项目根目录的pubspec.yaml,修改environment下的sdk配置,确保版本下限不低于2.12.0(Dart空安全的最低要求),适配当前Dart 3.4.3的配置示例:
environment: sdk: '>=2.12.0 <4.0.0'
2. 指定logger的空安全版本
logger从1.0.0版本开始支持空安全,直接在pubspec.yaml的dependencies中更新版本:
dependencies: logger: ^1.4.0 # 可替换为最新稳定版
保存后重新执行flutter pub get。
3. 适配代码中的空安全规则
升级后若代码出现空安全相关报错,需针对性修改:
- 给可能为空的变量添加
?标记为可空类型 - 用
!断言变量非空(仅确定变量不会为空时使用) - 用
??设置空值默认值,比如var name = nullableName ?? "default"
4. 清理缓存重试
若依赖仍无法解析,执行以下命令清理缓存后重新获取:
flutter clean flutter pub get
内容的提问来源于stack exchange,提问作者Jeanauguste Desire
相关产品推荐
相关产品推荐

