因为sdk的flutter_test每个版本都依赖... flutter_test from sdk被禁止,版本求解失败

Sho*_*ani 30 flutter flutter-test flutter-dependencies

当我在我的颤振项目中添加 http 依赖项时,我遇到了这个问题。任何人都可以帮我吗?

在此处输入图片说明

liv*_*ove 17

如果您收到消息:

因为 sdk 中每个版本的 flutter_test 都依赖于...

这意味着 flutter_test 依赖于版本低于您在另一个依赖项中指定的版本的依赖项。

要解决此问题,请打开 pubspec.yaml,并删除问题依赖项的版本号:

例子:

改变

  archive: ^2.0.13 --> remove this number
Run Code Online (Sandbox Code Playgroud)

到:

  archive: 
Run Code Online (Sandbox Code Playgroud)

  • 如何升级flutter_test? (8认同)
  • 这是推荐的解决方案吗?据我所知,不鼓励省略依赖版本 (5认同)
  • 使用颤振升级 (2认同)

Rah*_*rma 15

您已经提供或尝试使用http: ^0.12.0对在pubspec.yaml文件中实现 API 调用的依赖,但flutter_test将需要http: ^0.11.3+17. 这就是它失败的原因。请更换

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.0
Run Code Online (Sandbox Code Playgroud)

dependencies:
  flutter:
    sdk: flutter
  http: ^0.11.3
Run Code Online (Sandbox Code Playgroud)

希望它能帮到你。


Joe*_*ler 9

我在尝试更新集合包时遇到了这个错误。

我的错误:

Because butler_labs depends on flutter from sdk which depends on collection 1.17.1, collection 1.17.1 is required.
So, because butler_labs depends on collection ^1.17.2, version solving failed.
Run Code Online (Sandbox Code Playgroud)

解决方案是运行flutter update-packages --force-upgrade更新本地 Flutter 实例中的依赖项。官方文档中提到了这个命令。


小智 6

我面临着类似的错误。dependencies:我通过从 中的部分删除所有版本号解决了这个问题pubspec.yaml

所以,如果我pubspec.yaml以前看起来像这样:

dependencies:
  freezed_annotation: ^0.14.3
Run Code Online (Sandbox Code Playgroud)

我把它改成这样:

dependencies:
  freezed_annotation:
Run Code Online (Sandbox Code Playgroud)

假设这会获取每个包的最新“可能”版本。

  • 这个答案与[这个](/sf/answers/4297617131/)相同(或非常相似)。最好对这个答案进行投票,而不是再次发布。在该网站上投入一些时间,您将获得足够的[特权](//stackoverflow.com/privileges)来投票支持对您有帮助的答案。 (5认同)

fla*_*rup 1

您能否提供您的依赖项pubspec.yaml?看起来您的应用程序至少依赖于http 0.12.0但 flutter_test 特别需要http 0.11.3+17(旧版本),这使得它失败。