Flutter 2.0 升级,pub 因无意义的依赖行为而失败

时间:2021-03-04 20:54:27

标签: flutter flutter-dependencies

该项目就像一个魅力,在升级到 flutter 2.0 后开始出现问题。以下是 pub get 时的错误。

[delivered] flutter pub get 在交付中运行“flutter pub get”...
因为来自 sdk 的 flutter_localizations 的每个版本都依赖于 intl 0.17.0 和 firebase_auth_web >=0.3.0-dev.1 <0.4.0-1.0.nullsafety.0 依赖于 intl ^0.16.1,所以来自 sdk 的 flutter_localizations 与 firebase_auth_web 不兼容=0.3.0-dev.1 <0.4.0-1.0.nullsafety.0.

因为 firebase_auth >=0.18.4 <=0.18.4 取决于 firebase_auth_web ^0.3.2+2 和 firebase_auth ^0.18.4+1 取决于 firebase_auth_web ^0.3.2+3,firebase_auth ^0.18.4 需要 firebase_auth 0.3.2+2。 因此,来自 SDK 的 flutter_localizations 与 firebase_auth ^0.18.4 不兼容。 因此,因为 iDelivered 依赖于 SDK 中的任何 flutter_localizations 和 firebase_auth ^0.18.4,版本解析失败。 pub get failed (1; 所以,因为交付取决于 SDK 和 firebase_auth ^0.18.4 中的任何 flutter_localizations,版本解决失败。) 退出代码 1

这是我的 pubspec.yaml 供参考:

版本:1.0.0+1

环境: sdk:">=2.7.0 <3.0.0"

依赖: 扑: sdk:颤动 flutter_localizations: sdk:颤动

google_fonts:^1.1.1

http:^0.12.2 shared_preferences: ^0.5.12+4

firebase_core:^0.5.3 firebase_auth:^0.18.4 云火商店:^0.14.4 firebase_messaging:^7.0.3

parse_server_sdk_flutter: ^2.1.0

place_picker:^0.9.16 google_maps_flutter:^1.0.6

动画:^1.1.2 flutter_slidable: ^0.5.7

6 个答案:

答案 0 :(得分:11)

我的建议是几周内不要更新你的flutter版本

要降级您的颤振(主频道):

flutter downgrade 1.22.6

答案 1 :(得分:2)

自从您升级到 Flutter 2.0 后,flutter sdk 是 flutter_localizations 的来源。因此,您必须升级 Firebase 依赖项,例如firebase_auth, firebase_core 至少为 1.0.0 版。

我的建议是,如果你使用的包没有升级到空安全他们最近没有更新,你应该坚持使用1.22.6稳定版的flutter现在。

答案 2 :(得分:2)

您可以尝试添加 dependency_overrides 来解决此冲突:

dependency_overrides:
 intl: "<0.17.0"

答案 3 :(得分:1)

使用 flutter downgrade version

降级 flutter

答案 4 :(得分:1)

我对这个问题的解决方案..

下载 2.0.2 flutter SDK 和 1.22.6 flutter SDK。更改 Flutter SDK 项目。

答案 5 :(得分:0)

在我的应用中,

  1. 我将以下三个酒吧升级到最新
  firebase_analytics: ^7.1.1,
  firebase_core: ^1.0.1,
  firebase_messaging: ^9.0.0
  1. 我在 IOS pod 文件中将谷歌移动广告 SDK 降级到 7.6.9,它对我有用。 https://github.com/FirebaseExtended/flutterfire/issues/4931