首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何告诉Cargo使用git存储库作为间接依赖的源,而不是crates.io?

如何告诉Cargo使用git存储库作为间接依赖的源,而不是crates.io?
EN

Stack Overflow用户
提问于 2016-10-16 13:37:42
回答 1查看 4.2K关注 0票数 16

几天前,通过Emscripten交叉编译到JavaScript,终于在夜间成功了。我想以这种方式使用glium编译一个项目。然而,在许多板条箱中仍然有许多与Emscripten相关的bug。虽然维护人员通常会快速修复这些bug,但他们不一定会立即将这些错误修复发布给crates.io

在我的例子中,glium依赖于glutinglutin现在已经修复了一个bug,但是只在git存储库中,而不是在crates.io上。注意:glutin不是我的项目的直接依赖项,而是通过glium间接依赖的!

如何告诉货运公司使用 存储库 作为存储库的源,而不是 crates.io

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-16 13:37:42

您可以在项目的[replace] Cargo.toml中使用节。您可以找到关于该特性在这里的货物文件的文档。

在您的例子中,glium依赖于glutin 0.6.10.6.1 on crates.io的版本仍然包含这个错误。所以把这个添加到你的Cargo.toml

代码语言:javascript
复制
[replace]
"glutin:0.6.1" = { git = 'https://github.com/tomaka/glutin' }

但请注意,

..。被替换的板条箱不仅必须具有相同的名称,而且必须具有相同的版本。

但是,即使在版本不匹配的情况下(存储库已经包含了一个更新的版本),如果机箱的维护者为每个版本创建git标记(在Rust社区中的很多人这样做),您仍然会感到幸运。在这种情况下,只需指定标记:

代码语言:javascript
复制
[replace]
"glutin:0.6.1" = { 
    git = 'https://github.com/tomaka/glutin' 
    tag = 'v0.6.1'
}

遗憾的是,这不适用于glutin,因为维护人员并没有为每个版本创建标记。在这种情况下,您只需在版本被选中之前找到最后一个提交,然后用rev = 'b4a3d0...'指定它,或者用branch = '...'键指定一个特定的分支。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40070903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档