sdk 中的 flutter_localizations 依赖于 intl 0.17.0,fstore 依赖于 intl ^0.16.1,禁止来自 sdk 的 flutter_localizations

EKR*_*MUL 11 visual-studio dart flutter flutter-dependencies flutter-localizations

由于flutter_localizationsfrom SDK 的每个版本都依赖于intl 0.17.0fstore 依赖于intl ^0.16.1,因此禁止使用来自 SDK 的 flutter_localizations。

因此,由于 fstore 依赖于 SDK 中的任何 flutter_localizations,因此版本解析失败。pub get failed (1; 所以,因为 fstore 依赖于任何来自 sdk 的 flutter_localizations,版本解决失败。)

小智 26

我遇到了同样的问题,我不得不使用 ***

依赖覆盖

*** 并解决问题

dependency_overrides:
  intl: any
Run Code Online (Sandbox Code Playgroud)


Par*_*iya 18

发生这种情况是因为 flutter_localizations 需要, intl: ^0.16.1 而最后一个版本需要 intl: ^0.17.0-nullsafety.2

通过覆盖现有的依赖,我们可以解决这个问题

添加这个来 pubspec.yaml 解决它:

dependency_overrides:
   intl: ^0.17.0-nullsafety.2
Run Code Online (Sandbox Code Playgroud)


Dar*_*rno 14

您是否尝试过强制更新软件包

flutter update-packages --force-upgrade
Run Code Online (Sandbox Code Playgroud)

我遇到了同样的问题,更新软件包后我能够安装 flutter_localizations。

在此 github 问题上找到的解决方案https://github.com/flutter/flutter/issues/117163


小智 5

您可以查看此链接,它对我有很大帮助

https://medium.com/swlh/convert-your-flutter-app-to-enjoy-null-safety-69632aa62d7a

尽管有人声称 null 安全是一项可选功能,但全新安装仍然以某种方式迫使我升级我的依赖项。无论如何,我很高兴错误消息非常有用,而且更改似乎很容易。所以,我替换了这一行:

intl: ^0.16.1
Run Code Online (Sandbox Code Playgroud)

intl: ^0.17.0-nullsafety.2
Run Code Online (Sandbox Code Playgroud)

现在我的 % flutter pub get 很干净,应用程序运行良好,没有任何更改。那太棒了!对于任何类型的迁移练习,从工作基线开始总是一个好主意。