在Cargo中指定依赖版本的语法是什么?

23

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

[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"

我希望能确切地了解如何使用依赖列表。最好有一份权威的文档记录不同依赖语法。


2
我认为这个问题不应该被踩:因为相关文档并没有放在显眼的位置。我几乎查看了crates.io上的每一页文档,因为我想要尽可能地全面。 - DK.
1个回答

24
请查看“指定依赖项”页面的 crates.io 文档。简要概括如下:
  • 不写或使用插入符号 (^) 表示 “至少这个版本,直到下一个不兼容的版本”。

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

  • 通配符 (*) 表示 “任何类似于此的东西”。也就是说,1.2.* 将接受 1.2.anything1.2.01.2.7-beta1.2.93-dev.foo 等,但不接受 1.3.0)。

  • 不等式 (>=><=) 意味着显而易见的事情:Cargo 使用的版本必须满足给定的不等式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接