Flutter 从 2.0.0 版本降级(版本解决失败)

时间:2021-03-03 20:11:54

标签: flutter

今天 Flutter 2.0.0 发布了。安装后,我遇到了一些版本问题:

Because foo depends on flutter_localizations any from sdk which depends on intl 0.17.0, intl 0.17.0 is required.
So, because foodepends on intl ^0.16.1, version solving failed. 
Running "flutter pub get" in foo...                              
pub get failed (1; So, because foo depends on intl ^0.16.1, version solving failed.)

如果我将 intl 设置为我得到的最新版本:

Because dash_chat >=1.0.10 depends on intl ^0.16.0 and foo depends on intl ^0.17.0, dash_chat >=1.0.10 is forbidden.
So, because foo depends on dash_chat ^1.1.15, version solving failed.
Running "flutter pub get" in foo...                              
pub get failed (1; So, because foo depends on dash_chat ^1.1.15, version solving failed.)

但 DashChat 1.1.15 是最新版本。

我认为目前解决这个问题的唯一方法是降级flutter。 我尝试了 flutter version v1.22.6flutter downgrade,但如果这些有效,则没有:

There is no previously recorded version for channel "stable".

例如,我如何降级到 Flutter 1.22.6?

3 个答案:

答案 0 :(得分:2)

在您的情况下,您有两个选择:

  • 分叉包 dash_chat 以将其 intl 依赖项升级到最新的依赖项,然后从 git 存储库获取包而不是从 pub 获取包:
dash_chat:
   git:
     path: https://my_git_path.com
     ref: master
  • 或者如您所说,您可以恢复到以前版本的 Flutter。如果 flutter downgrade 不适合您,您仍然可以从 official flutter page 下载以前的版本,并用您下载的版本替换您的本地 Flutter SDK。

答案 1 :(得分:2)

  1. 切换到频道,然后降级您想要的特定版本。例如

    flutter channel stable 然后 flutter downgrade 1.22.6

  2. 检查特定的颤振分支 git checkout flutter-1.27-candidate.9

记得重新加载代码编辑器并运行 flutter clean 以避免出现意外错误。

答案 2 :(得分:1)

尝试将其添加到 pubspec.yaml

 dependency_overrides:
      intl: 0.17.0-nullsafety.2

并从 intl: 0.17.0 的依赖项部分删除 pubspec.yaml。我认为你不需要用这个来降级 Flutter。