初面网初面网

Cargo

Cargo是Rust的构建系统和包管理工具,用于构建代码、下载依赖库、构建库等。

安装Rust时会安装Cargo。下面的命令查看cargo版本

  • cargo --version

下面这行创建新项目

  • cargo new 项目名

输入之后会创建文件夹和文件。其中:

cargo.toml,TOML(Tom's Obvious, Minimal Language),是Cargo的配置格式。

里面的内容如下:

[package]
name = "项目名称"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

[package]下面主要是包的信息:包名、作者(authors。上面没有,可以自己添加)、版本、Rust版本

[dependencies]下面是依赖包,主要是官方或第三方的依赖。Rust中这些依赖称为crate。

一般来说,源代码文件都放到src文件夹里,项目顶层目录存放README等其他文件。

如果创建的时候没有使用cargo命令,可以把新建src文件夹,将源码放入,并写好Cargo.toml,这样就转化成了cargo管理的项目。

下面这行构建项目,在target/debug中生成可执行文件。

  • cargo build

生成后运行(如果没有构建,这句会先构建再运行)

  • cargo run

检查代码

  • cargo check

为发布构建,在target/release中生成可执行文件。优化好,所以编译时间较普通build长。

  • cargo build --release

推荐

其他指令

  • cargo fmt, 格式化代码。
  • cargo clippy, 代码检查工具。捕捉错误并给出建议。
  • cargo test, 内置的测试运行器,可靠且能完成基本测试任务。
  • cargo nextest, 速度更快(约6倍),自动重试不稳定的测试。它是社区开发的test的替代品。

优化运行速度

  1. 添加依赖Cargo.toml中添加criterion作为[dev-dependency]。
  2. 为基准测试目标设置harness=false
  3. 在benches/目录下创建基准测试文件,使用criterion库编写基准测试代码。
  4. 使用cargo bench,运行基准测试

检查依赖

cargo install cargo-audit

cargo-audit会检查依赖的安全性,包括已知的安全漏洞。

运行检查

  • cargo audit

发布

  • cargo-release,自动化版本提升,git打标和发布
  • git-cliff,从git提交历史生成变更日志
  • cargo-dist,构建、打包并托管多平台二进制文件。
  1. 运行cargo release
  2. 自动触发提升版本,创建Git标签,并推送到仓库
  3. CI接管,新标签在GitHub Actiions上触发cargo-dist。

换源

  1. 进入cargo配置目录
cd $HOME/.cargo
  1. 删除.package-cache文件

  2. 创建并编辑文件(1.31后的rust用config.toml)

  3. 打开config文件,将以下内容填入

[source.crates-io]
replace-with = 'aliyun' # 指定使用下面哪个源,修改为source.后面的内容即可
#阿里云
[source.aliyun]
registry = "sparse+https://mirrors.aliyun.com/crates.io-index/"
# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
  1. 使用 cargo build 或 cargo run 试验速度

一些说明

  • Cargo.toml是可读写的配置文件; Cargo.lock是Cargo自动生成的依赖锁定文件,记录了所有依赖的精确版本,不应手动修改。

更新于 2026/8/18