【问题标题】:Flutter pubspec dependency conflictFlutter pubspec 依赖冲突
【发布时间】:2022-01-04 23:16:50
【问题描述】:

我有一个解决依赖关系的有线问题。在我的应用程序 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_generatorpubspec有以下限制:

dependencies:
  analyzer: ">=1.0.0 <4.0.0"

对于YetAnotherLayoutBuilder pubspec 有:

dependencies:
  analyzer: ^3.0.0

所以如果我正确理解这个符号:

  • YetAnotherLayoutBuilder 需要版本 >=3.0.0 和 的分析器
  • hive_generator 需要版本 >=1.0.0 和 中的分析器

非常欢迎任何我弄错的建议。

【问题讨论】:

    标签: flutter dart package pubspec


    【解决方案1】:

    现在下hive_generator插件有任何upgrade然后这个versionyet_another_layout_builder也没有downgrade版本。因此,为了解决这些情况,我们有另一种方法在 Flutter 中添加dependencies,即dependency_overrides 使用这个我们可以override 一些dependencies,这样我们的应用程序就可以使用另一个@987654330 @ 相同的dependency 也是如此。因此,只需将以下代码添加到您的 pubspecs.yaml 文件

    dependency_overrides:
      analyzer: ^2.8.0
    

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 2021-07-03
      • 1970-01-01
      • 2021-06-06
      • 2011-03-12
      • 2019-12-24
      • 2021-12-14
      相关资源
      最近更新 更多