firebase - 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!
解决方案
您需要在 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
推荐阅读
- android - 易蓝牙经典模块连接
- android - 根据指南针旋转 360 度全景图像
- python - 在python中加载包含非ascii字符的xml
- javascript - google 闭包编译器 + ant 自动链接源映射自动到源
- javascript - 将参数传递给 .net 中的 jQuery 加载对话框
- azure - 从 Classic 迁移到 ARM 之前是否需要备份 Azure 存储帐户?
- reactjs - 模拟 api 调用时如何设置状态
- mysql - 在mysql中重新排序多行序列
- excel - 单元格是否包含复选框?
- java - 通过java加载机器学习sklearn模型(RandomForestClassifier)并作为参数发送到python文件中的函数