What is the syntax for specifying dependency versions in Cargo?

拟墨画扇 提交于 2019-12-21 07:00:25

问题


So far I have seen three...

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

I'd love to know for certain how to use the dependency list. It would be nice to have an authoritative source that documents the different syntaxes for dependencies.


回答1:


See the crates.io documentation page on "Specifying Dependencies". To summarise:

  • Nothing or a caret (^) means "at least this version, until the next incompatible version".

  • A tilde (~) means "at least this version, until (but excluding) the next minor/major release". That is, ~1.2.3 will accept 1.2.X where X is at least 3, ~1.2 will accept 1.2.*, and ~1 will accept 1.*.*.

  • A wildcard (*) means "anything that looks like this". That is, 1.2.* will accept 1.2.anything (1.2.0, 1.2.7-beta, 1.2.93-dev.foo, etc. but not 1.3.0).

  • Inequalities (>=, >, <, =) mean the obvious: the version Cargo uses must satisfy the given inequality.



来源:https://stackoverflow.com/questions/30826513/what-is-the-syntax-for-specifying-dependency-versions-in-cargo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!