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

joc*_*ull 17 rust rust-cargo

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

[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"
Run Code Online (Sandbox Code Playgroud)

我很想知道如何使用依赖列表.拥有一个记录依赖关系的不同语法的权威来源会很高兴.

DK.*_*DK. 19

请参阅crates.io"指定依赖关系"文档页面.总结一下:

  • 没有什么或插入符号(^)表示"至少这个版本,直到下一个不兼容的版本".

  • 代字号(~)表示"至少此版本,直到(但不包括)下一个次要/主要版本".也就是说,~1.2.3将接受其中至少为3,将接受,并会接受.1.2.XX~1.21.2.*~11.*.*

  • 通配符(*)表示"看起来像这样的任何东西".也就是说,1.2.*将接受(,,等,但没有).1.2.anything1.2.01.2.7-beta1.2.93-dev.foo1.3.0

  • 不等式(>=,>,<,=)的意思是很明显的:版本货物使用都必须满足给定的不平等.