用途:Cargo 是 Rust 的构建系统与包管理器,用于编译、构建、打包和发布 Rust 包与 crate。该技能在需要处理 Rust 依赖与构建管理、工作区多 crate 架构、持续集成与静态分析、发布优化与交叉编译时使用。
主要能力:管理单仓库中多个相互依赖的 crate,通过工作区根 Cargo.toml 的 [workspace] members 与 workspace.dependencies 统一版本;配置发布 profile 优化,如 opt-level、lto、codegen-units、panic、strip;在 CI 中运行 cargo fmt、cargo clippy、cargo test、cargo audit;添加带指定特性的依赖并遵循 SemVer 更新。
使用方式:快速开始为 cargo new my-project、cd my-project、cargo run,并在 Cargo.toml 的 [dependencies] 中声明依赖。常用命令包括 cargo fmt --all -- --check、cargo clippy --all-targets --all-features -- -D warnings、cargo test --workspace --all-features、cargo audit、cargo add tokio --features full、cargo update。发布构建使用 cargo build --release。
适用场景:Rust 项目构建与发布、monorepo 多 crate 管理、CI/CD 质量检查、生产环境二进制体积与性能优化。
限制与注意事项:应用仓库应提交 Cargo.lock 以保证可复现构建,库可考虑省略;避免启用不需要的 crate 特性;不要部署 target/debug 调试产物。常见问题包括版本约束冲突(可运行 cargo update 或检查 Cargo.lock)、编译错误或缺少原生 C 库依赖(需安装系统包如 libssl-dev、pkg-config)、链接失败(需安装 build-essential)。参考资料为 The Cargo Book。