【问题标题】:What is the syntax for specifying dependency versions in Cargo?在 Cargo 中指定依赖版本的语法是什么?
【发布时间】:2015-06-14 06:18:50
【问题描述】:

到目前为止,我已经看到了三个......

[dependencies]
crate = "1.0.0"  # I think this is an exact version match
crate = "^1.0.0" # I think this means "use that latest 1.x.x"
crate = "*"      # I think this means "use the latest"

我很想知道如何使用依赖列表。最好有一个权威的来源来记录依赖项的不同语法。

【问题讨论】:

  • 我认为这个问题不应该被否决:关于此的文档 not 在一个明显的地方。我几乎检查了crates.io 上的所有其他文档页面,因为我查看了正确的文档,只是为了详尽无遗。

标签: rust rust-cargo


【解决方案1】:

请参阅crates.io documentation page on "Specifying Dependencies"。总结一下:

  • Nothing 或插入符号 (^) 表示“至少是这个版本,直到下一个不兼容的版本”。

  • 波浪号 (~) 表示“至少是这个版本,直到(但不包括)下一个次要/主要版本”。也就是说,~1.2.3 将接受 1.2.<em>X</em>,其中 X 至少为 3,~1.2 将接受 1.2.*~1 将接受 1.*.*

  • 通配符 (*) 表示“任何看起来像这样的东西”。也就是说,1.2.* 将接受 1.2.<em>anything</em>1.2.01.2.7-beta1.2.93-dev.foo 等,但不接受 1.3.0)。

  • 不等式(&gt;=&gt;&lt;=)的意思很明显:Cargo 使用的版本必须满足给定的不等式。

【讨论】:

    猜你喜欢
    • 2022-08-21
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多