admin管理员组文章数量:1323023
I want to patch getrandom
crate in my workspace, with 0.2.12 version as following:
[patch.crates-io]
getrandom = { git = ".git", rev = "8ffd43e" }
Before trying to patch, my Cargo.lock had the 0.2.15 version of this crate. When I patched it and tried to run cargo update -p getrandom
, I encountered a problem:
warning: Patch `getrandom v0.2.12 (.git?rev=8ffd43e#8ffd43e6)` was not used in the crate graph.
When I played around with the Cargo.lock here is what I got eventually:
... required by package `libp2p-gossipsub v0.47.0`
... which satisfies dependency `libp2p-gossipsub = "^0.47.0"` (locked to 0.47.0) of package `libp2p v0.54.1`
... which satisfies dependency `libp2p = "^0.54"` (locked to 0.54.1) of package `my_project v0.1.0 (/path/to/my_project)`
versions that meet the requirements `^0.2.15` are: 0.2.15
As far as I understand, libp2p-gossipsub
crate which is imported by the libp2p
crate requires 0.2.15 version of getrandom
.
How can I resolve this issue? I am OK to having 2 different versions of getrandom
in my codebase, and not applying patch to libp2p
.
I want to patch getrandom
crate in my workspace, with 0.2.12 version as following:
[patch.crates-io]
getrandom = { git = "https://github/madsim-rs/getrandom.git", rev = "8ffd43e" }
Before trying to patch, my Cargo.lock had the 0.2.15 version of this crate. When I patched it and tried to run cargo update -p getrandom
, I encountered a problem:
warning: Patch `getrandom v0.2.12 (https://github/madsim-rs/getrandom.git?rev=8ffd43e#8ffd43e6)` was not used in the crate graph.
When I played around with the Cargo.lock here is what I got eventually:
... required by package `libp2p-gossipsub v0.47.0`
... which satisfies dependency `libp2p-gossipsub = "^0.47.0"` (locked to 0.47.0) of package `libp2p v0.54.1`
... which satisfies dependency `libp2p = "^0.54"` (locked to 0.54.1) of package `my_project v0.1.0 (/path/to/my_project)`
versions that meet the requirements `^0.2.15` are: 0.2.15
As far as I understand, libp2p-gossipsub
crate which is imported by the libp2p
crate requires 0.2.15 version of getrandom
.
How can I resolve this issue? I am OK to having 2 different versions of getrandom
in my codebase, and not applying patch to libp2p
.
1 Answer
Reset to default 3I want to patch getrandom crate in my workspace, with 0.2.12 version as following: …
Before trying to patch, my Cargo.lock had the 0.2.15 version of this crate.
libp2p-gossipsub
crate which is imported by thelibp2p
crate requires 0.2.15 version ofgetrandom
.
In this situation, you must provide patched code which claims in its Cargo.toml
to be version 0.2.15 or newer. There is no way to override Cargo in this matter.
I am OK to having 2 different versions of
getrandom
in my codebase
There is no way to override Cargo’s one-major-version policy, either; in order to add a different minor version you must give it a different package name.
本文标签: rustForcing 2 different versions of a crate when patchingStack Overflow
版权声明:本文标题:rust - Forcing 2 different versions of a crate when patching - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742110412a2421228.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
getrandom
in the[dependencies]
section? – aedm Commented Jan 15 at 13:01