Dartlang中的依赖问题

时间:2016-01-14 20:04:28

标签: dependencies dart angular

当我做一个' pub get'它给了我以下错误:

包uri没有匹配> = 0.9.3< 0.11.0的版本派生自: - rpc 0.5.5取决于版本> = 0.9.3< 0.11.0

dependencies:
  angular2: 2.0.0-beta.1
  browser: ^0.10.0
  dart_to_js_script_rewriter: '^0.1.0'
  rpc: '^0.5.5'
  mongo_dart: '^0.2.4'
  http: '>=0.11.1 <0.12.0'
  crypto: '>=0.9.0 <0.10.0'
  _discoveryapis_commons: '>=0.1.0 <0.2.0'
  http_server: '^0.9.5+1'

uri的版本为0.10.0,版本为0.11.0 https://pub.dartlang.org/packages/uri

如何解决此依赖性冲突?

1 个答案:

答案 0 :(得分:3)

邮件中提到的包名通常会产生误导。它实际上讲的是pub某个地方放弃了试图找到一个兼容的集合。

要调试的工具

容易忘记的是SDK约束,它可能会限制软件包版本。

首先注释掉所有依赖项并逐个添加,直到您可以重现。 尝试找出哪些包的组合阻止解决(通常只有2或3)。然后研究他们的SDK版本和依赖关系约束。

它通常与分析程序包有关,它快速移动并经常引入重大变化,其中依赖性需要更新版本和旧版本的另一个依赖性限制。

它当然可以是任何其他包。也许有一段时间没有更新。

添加

dependency_overrides:
  uri: ^0.11.0

对于pubspec.yaml修复了它,因此带有rpc约束的uri包似乎真的是罪魁祸首。 请创建与rpc uri兼容的获取0.11.0的错误报告,或创建拉取请求。