问题描述
我对Cargo.toml
文件中的外部库有依赖性:
[dependencies]
foo = "0.5.6"
不幸的是,foo
板条箱发布了一个新版本0.5.7
,该版本引入了实质性的回归。很快将有一个新版本™0.5.8
,该版本不再包含此错误。有什么办法可以防止货物拉坏版本?我知道可以指定“ 0.5.6
或更早的名称”,例如:
[dependencies]
foo = "0.5.0,<0.5.7"
但是有没有一种方法可以在发布0.5.8
时将其包含在内?
解决方法
否,Cargo不允许这样做,使用foo = "0.5.0,<0.5.7"
是目前最好的选择。我个人不相信尚未发布的版本肯定会解决您的问题。新版本发布并经过测试后,您可以切换到foo = "0.5.8"
。
您还可以要求板条箱作者取消0.5.7版; Cargo不会选择拉动版本,因此它将使用0.5.6作为最新版本,直到发布0.5.8。 Yanking是处理损坏的发行版的正确解决方案。