有没有办法指定依赖关系的多个版本对我的库有效?

问题描述 投票:1回答:1

我正在使用一个根据我正在使用的其他板条箱而中断的库。解决方法是降级一些依赖项并保留该库的本地版本。

如果我将MyLibraryDep = {version = "*"}放入Cargo.toml,则可以使用。由于Cargo随后会自动修复依赖关系,但crates.io不允许这样做。

示例:

  • 如果使用MyLibraryLibraryA,则必须使用MyLibraryDep v0.1.0中的MyLibrary

  • 如果使用MyLibraryLibraryB,则必须使用MyLibraryDep v0.2.0中的MyLibrary

rust rust-cargo
1个回答
4
投票

按照《货运手册》的规定,您可以使用inequality requirements和多种要求组合形成一个有效的版本。

MyLibraryDep = {version = ">=0.1.0, <=0.2.0"}

这样的要求也将允许Cargo选择适当的版本,并且应由crates.io允许。

© www.soinside.com 2019 - 2024. All rights reserved.