当我在我的颤振项目中添加 http 依赖项时,我遇到了这个问题。有人可以帮我吗?
7 回答
如果您收到消息:
因为来自 sdk 的每个版本的 flutter_test 都依赖于...
这意味着 flutter_test 依赖于版本低于您在另一个依赖项中指定的依赖项。
要解决这个问题,请打开 pubspec.yaml,并删除问题依赖的版本号:
例子:
改变
archive: ^2.0.13 --> remove this number
至:
archive:
您已在pubspec.yaml文件中提供或尝试使用http: ^0.12.0
对实现 API 调用的依赖,但flutter_test将需要. 这就是它失败的原因。请更换http: ^0.11.3+17
dependencies:
flutter:
sdk: flutter
http: ^0.12.0
和
dependencies:
flutter:
sdk: flutter
http: ^0.11.3
希望它会帮助你。
我面临着类似的错误。我通过dependencies:
从pubspec.yaml
.
所以,如果我pubspec.yaml
以前看起来像这样:
dependencies:
freezed_annotation: ^0.14.3
我把它改成这样:
dependencies:
freezed_annotation:
我假设这会获取每个包的最新“可能”版本。
就我而言,我以某种方式删除了sdk: flutter
:
dependencies:
flutter:
sdk: flutter
你能提供你的依赖项pubspec.yaml
吗?看起来您的应用程序至少依赖于http 0.12.0
但 flutter_test 特别需要http 0.11.3+17
(旧版本),这使其失败。
如果您的应用程序没有太多可能破坏的依赖项,您可以尝试升级您的 Flutter 版本:flutter upgrade
. 它很可能会解决这个问题。但请务必了解您的应用程序可能会在意想不到的地方中断。所以你很好,如果:
- 要么你是为小应用程序做的
- 或者它是一个正在工作的大型应用程序,它有大量的测试会告诉你有什么东西坏了
- 如果没有测试的大型应用程序,请务必测试应用程序的每个重要位置,其中使用依赖项
在我的例子中,由于 fvm,IDE 引用了旧版本的 dart。似乎调用了“运行”按钮fvm flutter run
,但不像flutter run
我预期的那样。从项目中删除 fvm 文件夹后,问题就消失了。