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 的分析器

欢迎任何我弄错的建议。

4

1 回答 1

1

现在下界hive_generator插件有任何upgrade那么这个version,也没有yet_another_layout_builder版本downgrade。因此,为了解决这些场景,我们有另一种方法可以添加dependenciesFlutter中,dependency_overrides我们可以使用这种方法,以便我们的应用程序也可以使用另一种override相同的方法。所以只需将以下代码添加到您的pubspecs.yaml文件中dependenciesversiondependency

dependency_overrides:
  analyzer: ^2.8.0
于 2022-01-04T15:16:50.407 回答