use*_*789 5 rust rust-crates rust-cargo
我正在尝试修补我项目中包含的板条箱间接包含的有问题的板条箱。但问题是,我看到两个不同的板条箱使用两个不同版本的有问题的板条箱。使用patch.crates-io,我可以只修补有问题的板条箱的一个版本。
为了解释我的问题,这里是代码说明。
假设我有一个名为“myproject”的项目,其中包括板条箱“A”和板条箱“B”。板条箱“A”和板条箱“B”都包含板条箱“C”,但有两个不同的版本(假设是 0.1.1 和 0.2.2)。但是板条箱“C”需要一些定制来解决一些影响我的项目的问题。在制作两个版本的本地副本后,我做了一些修复,现在我想使用 patch.crates-io 更新我的项目,如下所示。但我只能为 Crate 'C' 的一个版本提供补丁。
在 myproject.toml 中
[patch.crates-io]
C = { version = "0.1.1", path = "../mylocalpath/C" }
Run Code Online (Sandbox Code Playgroud)
所以问题是,是否有一种方法可以修补两个版本的板条箱“C”,而不需要制作板条箱“A”或板条箱“B”的本地副本?
小智 3
我发现罗德里戈的评论非常有帮助。
如果您想要一个代码示例,我在这里已经用板条箱完成了rand:
[patch.crates-io]
rand = { version = "0.8.5", git = "https://github.com/rust-random/rand", rev="0.8.5" }
rand2 = { version = "0.7.3", git = "https://github.com/rust-random/rand", rev="0.7.3", package="rand" }
Run Code Online (Sandbox Code Playgroud)
如果你运行Cargo Tree,你可以看到补丁已经被应用了。
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |