【问题标题】:How to blacklist a specific version of a dependency in a cargo.toml file?如何在 cargo.toml 文件中将特定版本的依赖项列入黑名单?
【发布时间】:2020-09-10 15:05:27
【问题描述】:

我的 Cargo.toml 文件中有一个外部库的依赖项:

[dependencies]
foo = "0.5.6"

不幸的是,foo crate 发布了一个新版本,0.5.7,它引入了实质性的回归。应该有一个新版本很快™,0.5.8,它不再有这个错误。有没有办法可以防止货物拉坏版本?我知道可以指定“0.5.6 或更早”,如下所示:

[dependencies]
foo = "0.5.0, <0.5.7"

但是有没有办法让0.5.8 在发布时也包含在内?

【问题讨论】:

    标签: rust rust-cargo


    【解决方案1】:

    不,Cargo 不允许这样做,使用 foo = "0.5.0, &lt;0.5.7" 是您目前最好的选择。我个人不相信尚未发布的版本肯定会解决您的问题。新版本发布并测试后,即可切换到foo = "0.5.8"

    你也可以要求 crate 作者 yank 0.5.7 版本; Cargo 不会选择 yanked 版本,因此它将使用 0.5.6 作为最新版本,直到 0.5.8 发布。 Yanking 是处理损坏版本的正确解决方案。

    【讨论】:

      猜你喜欢
      • 2015-07-14
      • 2016-07-29
      • 1970-01-01
      • 2011-06-20
      • 2012-09-29
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      相关资源
      最近更新 更多