当我做一个' 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
如何解决此依赖性冲突?
答案 0 :(得分:3)
邮件中提到的包名通常会产生误导。它实际上讲的是pub
某个地方放弃了试图找到一个兼容的集合。
要调试的工具
pub get --trace
pub deps -stree
容易忘记的是SDK约束,它可能会限制软件包版本。
首先注释掉所有依赖项并逐个添加,直到您可以重现。 尝试找出哪些包的组合阻止解决(通常只有2或3)。然后研究他们的SDK版本和依赖关系约束。
它通常与分析程序包有关,它快速移动并经常引入重大变化,其中依赖性需要更新版本和旧版本的另一个依赖性限制。
它当然可以是任何其他包。也许有一段时间没有更新。
添加
dependency_overrides:
uri: ^0.11.0
对于pubspec.yaml修复了它,因此带有rpc
约束的uri
包似乎真的是罪魁祸首。
请创建与rpc
uri
兼容的获取0.11.0
的错误报告,或创建拉取请求。