Rust(一)Cargo包管理

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

发表评论