Cargo使用文档-指定依赖项

Posted Maybe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cargo使用文档-指定依赖项相关的知识,希望对你有一定的参考价值。

原文链接:http://doc.crates.io/specifying-dependencies.html#platform-specific-dependencies

你的crates可以依赖于其他的库:

1.crates.io

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)

 

(未完待续...)

以上是关于Cargo使用文档-指定依赖项的主要内容,如果未能解决你的问题,请参考以下文章

如何定义仅测试依赖项?

代码即文档?介绍Cargo spec

Android Gradle 插件Gradle 依赖管理 ⑤ ( dependencies 依赖项拆分 | 依赖组 | 依赖名称 | 依赖版本号 | 动态指定依赖版本号 | 使用命令行查看模块 )

如何为 Jetty 的 Maven Cargo 插件指定 jetty-env.xml 文件?

Rust Rustup cargo配置国内镜像源

actix rust actor 框架学习 二 ping actor demo 代码