每个版本的 integration_test 都依赖于来自 sdk 的 flutter_driver any,它依赖于 crypto 2.1.5
Posted
技术标签:
【中文标题】每个版本的 integration_test 都依赖于来自 sdk 的 flutter_driver any,它依赖于 crypto 2.1.5【英文标题】:Every version of integration_test depends on flutter_driver any from sdk which depends on crypto 2.1.5 【发布时间】:2021-07-12 13:50:29 【问题描述】:自从我尝试将integration_test
包与get_test
一起添加以来,我一直遇到错误,这主要是因为just_audio
依赖于crypto: ^3.0.0
而integration_test
依赖于crypto: ^2.1.5
。
我试图在网上查看是否可以只安装没有 dev_dependencies 的依赖项,但是基于此issue,flutter pub cli 工具似乎还不支持。
这是我的pubspec.yaml
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
share: ^2.0.1
get:
get_storage:
shared_preferences: ^2.0.5
audio_service: 0.17.0-nullsafety.0
just_audio: ^0.7.4
dev_dependencies:
flutter_test:
sdk: flutter
get_test: ^3.13.3
integration_test: ^1.0.2+1
test: ^1.14.4
这是我遇到的错误。
Because every version of integration_test depends on flutter_driver any from sdk which depends on crypto 2.1.5, every version of integration_test requires crypto 2.1.5.
And because just_audio 0.7.4 depends on crypto ^3.0.0 and no versions of just_audio match >0.7.4 <0.8.0, integration_test is incompatible with just_audio ^0.7.4.
So, because egy_fm_radio depends on both just_audio ^0.7.4 and integration_test ^1.0.2+1, version solving failed.
pub get failed (1; So, because egy_fm_radio depends on both just_audio ^0.7.4 and integration_test ^1.0.2+1, version solving failed.)
【问题讨论】:
【参考方案1】:我认为这个特定问题可以通过将 Flutter SDK 更新到最新版本 (>=2.2.0) 来解决,但如果有人遇到类似问题,请考虑使用 Dependency overrides 覆盖内置的依赖项integration_test
和 flutter_driver
等软件包。
dependency_overrides:
crypto: ^3.0.0
请注意,这涉及一些风险,pub
会在依赖关系解析期间向您显示警告。
【讨论】:
以上是关于每个版本的 integration_test 都依赖于来自 sdk 的 flutter_driver any,它依赖于 crypto 2.1.5的主要内容,如果未能解决你的问题,请参考以下文章
如何解决“在 Flutter SDK 中找不到包 integration_test”错误