Rust Linux 项目依赖管理指南
一 核心工具与流程
cargo new my_project && cd my_projectcargo add <crate>(或手动编辑 Cargo.toml 的 [dependencies])cargo build、cargo runcargo testcargo update(或 cargo update -p <crate> 更新单个包)cargo treecargo clean二 依赖声明与版本策略
serde = { version = "1.0", features = ["derive"] }rand = "0.8"^1.2.3),在保持兼容性的前提下获得修复与安全更新。>=2.0.0)或过窄(如 ~1.3)的范围。*。[dev-dependencies](仅测试/示例/基准使用,不会传递)。[build-dependencies](供构建脚本使用,如 cc、bindgen)。[target.'cfg(target_os = "linux")'.dependencies]、[target.x86_64-unknown-linux-gnu.dependencies]。optional = true 配合 [features] 开关组合功能,避免按 cfg(debug_assertions) 等条件直接添加依赖。三 系统库与本地依赖
build.rs 中)。path = "..." 引入同仓库子模块或本地库,便于 monorepo/多 crate 开发。四 工作空间多 crate 管理
[workspace]
members = ["crate1", "crate2"]
resolver = "2"
cargo 命令会对所有成员生效,便于统一升级、统一锁文件策略与一致的构建结果。五 日常维护与最佳实践
cargo update;定位冲突与变更:cargo tree;必要时回退到 Cargo.lock 中已验证的版本。[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
cargo publish。