1. 简介
Cargo 是 Rust 的构建系统和包管理器,大多数 Rustacean 们使用 Cargo 来管理他们的 Rust 项目,因为它可以处理很多任务,比如构建代码、下载依赖库(在 Rust 中称为「crate」)并编译这些库。
2. 使用 Cargo
2.1 创建项目
Cargo 工具创建项目的基本语法格式如下:
代码语言:javascript复制cargo new <project>
运行上述命令后,会创建一个名为 <project>
的目录,并初始化该目录为一个仓库,其目录结构如下:
.
├── .git
├── .gitignore
├── Cargo.toml
└── src
└── main.rs
Cargo.toml
为当前项目的 Cargo 配置文件,采用的是 TOML 文件格式。
2.2 构建项目
Cargo 工具构建项目的基本语法格式如下:
代码语言:javascript复制# 在项目目录下执行
cargo build
运行上述构建命令后,会在项目目录下生成一个 target
目录,该目录下的 debug
目录中包含了一些编译文件和生成的可执行文件等信息。
【注】当项目最终准备好发布时,可以使用 cargo build --release
来优化编译项目。这会在 target/release
下而不是 target/debug
下生成可执行文件。
这些优化可以让 Rust 代码运行的更快,不过启用这些优化也需要消耗更长的编译时间。这也就是为什么会有两种不同的配置:一种是为了开发,你需要经常快速重新构建;另一种是为用户构建最终程序,它们不会经常重新构建,并且希望程序运行得越快越好。
2.3 运行项目
Cargo 工具运行项目的基本语法格式如下:
代码语言:javascript复制# 在项目目录下执行
cargo run
运行上述运行命令后,会运行构建过程生成的可执行文件 ./target/debug/<project>
。
【注】如果没有构建项目直接运行 cargo run
,Cargo 会先自动构建项目然后运行程序。
2.4 检查代码
Cargo 工具还提供了快速检查项目代码确保其可以编译的功能,其基本语法格式如下:
代码语言:javascript复制# 在项目目录下执行
cargo check
cargo check
比 cargo build
快得多,因为它省略了生成可执行文件的步骤。因此在编写代码时只是想持续的进行代码检查,cargo check
是一个不错的选择。
2.5 查看文档
当我们在调用依赖库(crate)时,我们不知道应该从 crate 中调用那个方法,crate 的使用说明位于其文档中,所以我们需要查阅相关文档。而 Cargo 有一个很棒的功能是:运行 cargo doc --open
命令来构建所有本地依赖提供的文档,并在浏览器中打开。
附录
关于 Cargo 工具更详细的介绍参考其官方文档:
- Rust 构建工具和包管理器:Cargo 使用文档