我正在使用一个根据我正在使用的其他板条箱而中断的库。解决方法是降级一些依赖项并保留该库的本地版本。
如果我将MyLibraryDep = {version = "*"}
放入Cargo.toml
,则可以使用。由于Cargo随后会自动修复依赖关系,但crates.io不允许这样做。
示例:
如果使用MyLibrary
和LibraryA
,则必须使用MyLibraryDep v0.1.0
中的MyLibrary
如果使用MyLibrary
和LibraryB
,则必须使用MyLibraryDep v0.2.0
中的MyLibrary
按照《货运手册》的规定,您可以使用inequality requirements和多种要求组合形成一个有效的版本。
MyLibraryDep = {version = ">=0.1.0, <=0.2.0"}
这样的要求也将允许Cargo选择适当的版本,并且应由crates.io允许。