Flutter pubspec 依赖冲突
Flutter pubspec dependency conflict
我在解决依赖关系方面遇到了有线问题。在我的应用程序 pubspec 中,我有以下几行:
dependencies:
yet_another_layout_builder: ^0.1.0
dev_dependencies:
hive_generator: ^1.1.1
两个包都使用 analyzer
包并且 flutter pub get
向我报告错误:
Because no versions of hive_generator match >1.1.1 <2.0.0 and hive_generator 1.1.1 depends on analyzer >=1.0.0 <3.0.0, hive_generator ^1.1.1 requires analyzer >=1.0.0 <3.0.0.
And because every version of yet_another_layout_builder depends on analyzer ^3.0.0, hive_generator ^1.1.1 is incompatible with yet_another_layout_builder.
So, because testApp depends on both yet_another_layout_builder ^0.1.0 and hive_generator ^1.1.1, version solving failed.
pub get failed (1; So, because testApp depends on both yet_another_layout_builder ^0.1.0 and hive_generator ^1.1.1, version solving failed.)
然而,当我查看这些包的 github 来源时,我发现这个错误不应该发生。对于 hive_generator
pubspec 有以下限制:
dependencies:
analyzer: ">=1.0.0 <4.0.0"
和 YetAnotherLayoutBuilder
pubspec 有:
dependencies:
analyzer: ^3.0.0
所以如果我正确理解这个符号:
- YetAnotherLayoutBuilder 期望分析器版本 >=3.0.0 和 <4.0.0
- hive_generator 期望版本 >=1.0.0 和 <4.0.0
的分析器
欢迎提出任何错误的建议。
现在 hive_generator
插件有任何 upgrade
然后这个 version
并且 yet_another_layout_builder
也没有 downgrade
版本。因此,为了解决这些情况,我们有另一种方法可以在 Flutter 中添加 dependencies
,即 dependency_overrides
使用这个我们可以 override
一些 dependencies
以便我们的应用程序也可以使用相同 dependency
的另一个 version
。所以只需将以下代码添加到您的 pubspecs.yaml 文件
dependency_overrides:
analyzer: ^2.8.0
我在解决依赖关系方面遇到了有线问题。在我的应用程序 pubspec 中,我有以下几行:
dependencies:
yet_another_layout_builder: ^0.1.0
dev_dependencies:
hive_generator: ^1.1.1
两个包都使用 analyzer
包并且 flutter pub get
向我报告错误:
Because no versions of hive_generator match >1.1.1 <2.0.0 and hive_generator 1.1.1 depends on analyzer >=1.0.0 <3.0.0, hive_generator ^1.1.1 requires analyzer >=1.0.0 <3.0.0.
And because every version of yet_another_layout_builder depends on analyzer ^3.0.0, hive_generator ^1.1.1 is incompatible with yet_another_layout_builder.
So, because testApp depends on both yet_another_layout_builder ^0.1.0 and hive_generator ^1.1.1, version solving failed.
pub get failed (1; So, because testApp depends on both yet_another_layout_builder ^0.1.0 and hive_generator ^1.1.1, version solving failed.)
然而,当我查看这些包的 github 来源时,我发现这个错误不应该发生。对于 hive_generator
pubspec 有以下限制:
dependencies:
analyzer: ">=1.0.0 <4.0.0"
和 YetAnotherLayoutBuilder
pubspec 有:
dependencies:
analyzer: ^3.0.0
所以如果我正确理解这个符号:
- YetAnotherLayoutBuilder 期望分析器版本 >=3.0.0 和 <4.0.0
- hive_generator 期望版本 >=1.0.0 和 <4.0.0 的分析器
欢迎提出任何错误的建议。
现在 hive_generator
插件有任何 upgrade
然后这个 version
并且 yet_another_layout_builder
也没有 downgrade
版本。因此,为了解决这些情况,我们有另一种方法可以在 Flutter 中添加 dependencies
,即 dependency_overrides
使用这个我们可以 override
一些 dependencies
以便我们的应用程序也可以使用相同 dependency
的另一个 version
。所以只需将以下代码添加到您的 pubspecs.yaml 文件
dependency_overrides:
analyzer: ^2.8.0