首页 > 解决方案 > Dart SDK 版本与 pubspec.yaml 的依赖项冲突

问题描述

我有一个连接到 firebase 的 Flutter 应用程序,在最后一次更新 Flutter 和 Dart 之后,我开始收到这些依赖错误:

The current Dart SDK version is 2.10.2.
Because my_app_one depends on firebase_messaging >=9.0.0-1.0.nullsafety.0 which requires SDK version >=2.12.0-0 <3.0.0, version solving failed.
pub get failed (1; Because my_app_onedepends on firebase_messaging >=9.0.0-1.0.nullsafety.0 which requires SDK version >=2.12.0-0 <3.0.0, version solving failed.)

我试图研究这个错误,我找到了一些解决方案,但他们没有解决这个案例。

pubspec.yaml/ 依赖项:

  firebase_analytics: ^7.1.1
  firebase_core: ^1.0.1
  firebase_crashlytics: ^1.0.0
  firebase_messaging: ^9.0.0

颤振医生:

[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [versão 10.0.19041.804], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[√] Android Studio (version 4.0)
[√] VS Code (version 1.54.1)
[√] Connected device (1 available)

• No issues found!

标签: firebaseflutterdart

解决方案


您需要在 pubspec.yaml 中更新您的环境 SDK。其实是

sdk: ">=2.10.2 <3.0.0"

将其更改为

sdk: ">=2.12.0 <3.0.0"

应该可以解决这个问题,但请注意,您可能需要迁移您的应用程序以兼容 null-safety。您可以首先通过在应用程序的根文件夹中执行此命令来检查它,其中 pubspec.yaml 是:

dart pub outdated --mode=null-safety

您可以通过本指南找到有关迁移到 null-safety 的更多信息: https ://dart.dev/null-safety/migration-guide


推荐阅读