有什么方法可以指定一个依赖项的多个版本对我的库有效吗?

Is there any way to specify that multiple versions of a dependency are valid for my library?

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

如果我将 MyLibraryDep = {version = "*"} 放入我的 Cargo.toml 中,它就会起作用。由于 Cargo 将自动修复依赖关系,但 crates.io 不允许这样做。

示例:

如 Cargo 书中所述,您可以使用 inequality requirements 和多个需求组合形成一系列有效版本。

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

这样的要求也将允许 Cargo 选择合适的版本,应该被 crates.io 允许。