Pubspec.yaml 抛出不一致的错误并且没有冲突

Pubspec.yaml throwing inconsistent errors and no conflicts

我发现 Dartson 和 mongo_dart 有一个奇怪的问题。

我是 运行宁 mongo_dart 0.1.46。 - 我需要将它升级到 mongo_dart 0.2.4

但是,当我升级时 mongo_dart - 我收到以下关于 dartson 的错误

Package mongo_dart has no versions that match 0.2.4 derived from: - tickets depends on version 0.2.4

使用:

dependencies:
#Server Dependencies
  json_object: "1.0.19"
  mongo_dart: "0.2.4"
  connection_pool: "0.1.0+2"
  dartson: "0.2.4"
  guinness: "0.1.17"
  html: "0.12.2"
  shelf: '>=0.6.2 <0.7.0'
  shelf_static: "0.2.2"
  shelf_route: "0.14.0"

这很奇怪,因为 mongo_dart: '0.2.4' 存在于 pub.dartlang 上,并且它独立工作 https://pub.dartlang.org/packages/mongo_dart


通过测试 pubspec.yaml 中每个单独包的删除,我能够识别出与 dartson 的冲突。

如果我将 dartson 移动到依赖项列表的顶部,我得到相反的结果:

dependencies:
#Server Dependencies
  dartson: "0.2.4"
  json_object: "1.0.19"
  mongo_dart: "0.2.4"
  connection_pool: "0.1.0+2"
  guinness: "0.1.17"
  html: "0.12.2"
  shelf: '>=0.6.2 <0.7.0'
  shelf_static: "0.2.2"
  shelf_route: "0.14.0"

Package dartson has no versions that match 0.2.4 derived from: - tickets depends on version 0.2.4

一起删除 dartson 允许 mongo_dart 正确安装。

这两个库之间是否存在已知问题?是否存在未浮出水面的冲突?

问题:如何使用 Dartson 0.2.4

将 mongo_dart 0.2.4 转换为 运行

我在你的 pubspec 上 运行 pub get 处于详细模式,问题似乎与包 logging 不同的依赖关系 Dartson depends on version 0.9, mongo_dart on current version 0.11 你可以问dartson作者,他们是否考虑过当前版本的logging

与此同时,您可以尝试将 dependency_ovverride 添加到您的 pubspec。当我将 ovverride 添加到您的 pubspec 时,它对我有用

name: test_pubspec

dependencies:
  json_object: "1.0.19"
  mongo_dart: "0.2.4"
  connection_pool: "0.1.0+2"
  dartson: "0.2.4"
  guinness: "0.1.17"
  html: "0.12.2"
  shelf: '>=0.6.2 <0.7.0'
  shelf_static: "0.2.2"
  shelf_route: "0.14.0"
dependency_overrides:
  logging: '^0.11.0'