
文章目录0.简介1.项目创建2.构建与运行3.依赖包管理4.测试与检查5.文档6.发布与打包7.Workspace 相关8.其他实用命令9.常用组合场景10.总结参考文献0.简介Cargo 是 Rust 的官方构建系统和包管理器集依赖管理、编译、测试、文档生成、发布等功能于一体。掌握以下常用子命令就能覆盖日常开发的绝大部分场景。1.项目创建cargonew my-project# 创建二进制项目含 src/main.rscargonew my-lib--lib# 创建库项目含 src/lib.rscargoinit# 在当前目录初始化项目2.构建与运行cargobuild# 编译debug 模式产物在 target/debug/cargobuild--release# 编译release 模式优化后产物在 target/release/cargorun# 编译并运行cargorun--release# release 模式运行cargorun -- arg1 arg2# 运行并传递命令行参数cargocheck# 只检查语法和类型不生成可执行文件比 build 快小技巧开发过程中频繁用cargo check快速验证代码能否编译比cargo build快得多。3.依赖包管理cargoaddserde# 添加依赖到 Cargo.tomlcargoaddtokio--featuresfull# 添加依赖并启用 featurecargoremove serde# 移除依赖cargoupdate# 更新 Cargo.lock 中的依赖版本cargoupdate-pserde# 只更新指定依赖cargotree# 以树状显示依赖关系cargotree-d# 只显示重复的依赖cargoinfo serde[--registryregistry]# 查看某个依赖 package 的详细信息版本、依赖、features 等cargosearch serde[--registryregistry]# 在 crates.io 上搜索相关 package注意1关于包版本升级。cargo add往 Cargo.toml 里新增一个依赖或修改某个已存在依赖的版本约束。它写的是声明即“我要用哪个包、大致什么版本范围”例如 cargo add serde 会写入 serde “1.0”。它本身不会去下载或升级已锁定的版本。cargo update根据 Cargo.toml 里的版本约束去更新 Cargo.lock 中锁定的实际版本。它做的是解析与升级把依赖升级到约束允许的最新版本并重写 Cargo.lock。哪个是升级包版本想让某个依赖升级到新版本用 cargo update如 cargo update -p serde 只升级 serde。想新增一个依赖或手动指定/放宽某个依赖的版本范围用 cargo add如 cargo add serde2 指定版本。一句话总结cargo add 改声明Cargo.tomlcargo update 改锁定Cargo.lock。日常“升级包版本”用 cargo update。2关于包版本查询。cargo info 用于查看某个依赖 package 的详细信息不能像go list -m -versions命令那样查出依赖的所有可用版本cargo search 用于在 registry 搜索 package默认 registry 是 crates.io。也不能像go list -m -versions命令那样列出依赖包的所有版本每个命中结果只带一个 版本一般是当前最高的稳定版。4.测试与检查cargotest# 运行所有测试单元测试 集成测试 文档测试cargotesttest_name# 只运行名称匹配的测试cargotest----nocapture# 显示测试中的 println! 输出cargoclippy# 运行 Clippy 静态检查cargoclippy ---Dwarnings# 将所有警告视为错误cargofmt# 格式化代码cargofmt--check# 检查格式不修改文件5.文档cargodoc# 生成 HTML 文档到 target/doc/cargodoc--open# 生成并自动打开浏览器cargodoc --no-deps# 只为当前项目生成文档不含依赖6.发布与打包cargopackage# 打包成 .crate 文件用于发布前验证cargopublish# 发布到 crates.iocargopublish --dry-run# 模拟发布不实际上传7.Workspace 相关cargobuild--workspace# 构建工作空间内所有成员cargotest-pmy-crate# 只测试指定成员cargobuild-pmy-crate# 只构建指定成员8.其他实用命令cargoclean# 删除 target/ 目录释放空间cargometadata# 以 JSON 格式输出项目元数据cargofix# 自动修复编译器建议的问题cargoinstallcargo-watch# 安装第三方 cargo 子命令cargobench# 运行基准测试9.常用组合场景场景命令日常开发快速验证cargo check提交前完整检查cargo fmt cargo clippy cargo test发布前验证cargo test --release cargo package查看依赖占用cargo tree -d清理磁盘空间cargo clean10.总结Cargo 的设计哲学是“一站式”大部分日常操作都不需要额外工具。记住这几个最常用的即可cargo new创建项目 →cargo check快速验证 →cargo run运行 →cargo test测试 →cargo clippy检查 →cargo fmt格式化 →cargo build --release发布构建熟练之后你还可以通过cargo install安装cargo-watch、cargo-expand、cargo-audit等第三方子命令进一步扩展 Cargo 的能力。参考文献Cargo 手册中文版