原文链接:http://doc.crates.io/specifying-dependencies.html#platform-specific-dependencies
你的crates可以依赖于其他的库:
2.git库
3.本地文件系统的子目录
也可以临时覆盖依赖项的位置-比如说,这样就能够测试你的工作内容的依赖项的BUG修复。你可以对不同的平台有不同的依赖项,以及只在开发期间使用的依赖项。
一、从crates.io指定依赖项
Cargo被设计为默认会从crates.io上搜寻依赖项。在这种方式下,只需要指定一个库名称和版本号,比如:
[dependencies] time = "0.1.12"
字符串"0.1.12"要求是语义化标准版本(SemVer),因为这种字符串没有运算符,
^符号(Caret requirements)
^符号允许以SemVer兼容方式升级到指定版本。只要新的版本号主要,次要,补丁组中最左边非零数字不被修改,这个升级就是被允许的,在这种情况下,如果我们运行
cargo update -p time
如果这个版本可用的话,cargo将会帮我们把time库升级到0.1.13,而绝不会升级到0.2.0,如果我们以^1.0方式指定版本,将会升级到1.1版本但是不会升级到2.0.0.0.x。
~符号(Tilde requirements)
~指定了一个可以更新的最小版本。比如,如果你指定了一个主.次.补丁版本或者主.次版本,那么只能允许补丁级别的版本更改。如果只指定了主版本,那么可以允许次版本和补丁版本的升级。
eg:
~1.2.3 <=> [1.2.3, 1.3.0) ~1.2 <=> [1.2.0, 1.3.0) ~1 <=> [1.0.0, 2.0.0)
(未完待续...)
时间: 2024-10-10 14:19:46