Cargo 是 Rust 的构建系统和包管理器。它可以帮助开发人员下载和管理依赖项,并帮助创建 Rust 包。在 Rust 社区中,Rust 中的“包”通常被称为“crate” 。这篇博客简单介绍cargo的功能和命令。
一、获取帮助
cargo -help
二、构建程序
编辑 Cargo.toml 文件并查看其内容,修改 dependecies 可以添加依赖项,然后运行cargo build,安装依赖项
$ cat hello_opensource/Cargo.toml
[package]
name = "hello_opensource"
version = "0.1.0"
authors = ["user <user@mail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
运行cargo build之后,target/debug 文件夹中生成编译后的程序
三、运行程序
cargo run
或者直接 ./target/debug/${files}
四、添加依赖
编辑Cargo.toml,添加库(以rand库为例)
$ cat Cargo.toml
[package]
name = "hello_opensource"
version = "0.1.0"
authors = ["test user <test@mail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand = "0.3.14"
cargo build
运行cargo build之后,cargo会和cartes.io 交互,下载和变异ruand,rand会依赖libc,所以cargo也会下载和编译libc
$ cargo build
Updating crates.io index
Compiling libc v0.2.66
Compiling rand v0.4.6
Compiling rand v0.3.23
Compiling hello_opensource v0.1.0 (/opensource/hello_opensource)
Finished dev [unoptimized + debuginfo] target(s) in 4.48s
五、更新依赖
cargo update
cargo库的版本不断更新,cargo提供update 命令更新其所有依赖关系的简单方法,使用 -p 跟上包名,来更新特定包
cargo update -p rand
六、检查代码
cargo clean 清理中间文件
cargo check
开发程序时会经历多次迭代,常常需要确保程序没有错误可以正确编译。你不需要负担在每次编译时生成二进制文件的开销。Cargo 提供一个check选项,进行代码编译,但是跳过了生成可执行文件的最后一步。
七、创建新包
cargo new ${package_name}
八、建立外部Rust包
下载或克隆互联网上获取的任何 Rust crate,进入下载文件的目录运行build命令即刻创建crate
git clone <github-like-url>
cd <package-folder>
cargo build
九、创建库
cargo 默认设置是构建二进制文件,cargo new 加上 –lib 选项则可以构建成库
$ cargo new --lib libhello
Created library `libhello` package
十、运行测试
Rust为单元测试和集成测试提供了一流的支持,而Cargo可以运行 cargo test ,执行在代码中事先放入的测试
十一、构建文档
cargo doc
十二、发布库到crates.io
cargo publish
十三、Cargo执行的细节
在cargo 命令后使用 -v 选项,可以将cargo更详细的执行信息打印出来。
十四、查看版本号
cargo –version