Dart SDK 版本与 pubspec.yaml 的依赖项冲突

时间:2021-03-09 14:30:13

标签: firebase flutter dart

我有一个连接到 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!

2 个答案:

答案 0 :(得分:2)

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

sdk: ">=2.10.2 <3.0.0"

改成

sdk: ">=2.12.0 <3.0.0"

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

dart pub outdated --mode=null-safety

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

答案 1 :(得分:2)

我遇到了类似的问题。我使用这些修复了它:

environment:
  sdk: ">=2.12.0-0 <3.0.0"
dependencies:
  flutter:
    sdk: flutter


  firebase_core: ^1.0.0
  cloud_functions: ^1.0.0
  firebase_auth: ^1.0.0
  firebase_analytics: any
  firebase_storage: ^8.0.0
  cloud_firestore: ^1.0.0

通过将版本设置为any,它会找到解决冲突的版本