CentOS 上使用 Rust 包管理工具 Cargo 的实用指南
一 安装与准备
- 在 CentOS 上推荐通过 rustup 安装和管理 Rust 工具链(含 Cargo),无需 root 权限,命令如下:
- 安装:curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
- 使环境变量生效:source “$HOME/.cargo/env”
- 验证:rustc --version、cargo --version
- 也可使用发行版仓库安装稳定版(适合初学者):sudo dnf install rust cargo(在 CentOS Stream/Fedora 上可用)。安装后同样可用 cargo --version 验证。
二 常用 Cargo 命令速览
- 项目与依赖
- 新建项目:cargo new my_project && cd my_project
- 添加依赖:编辑 Cargo.toml 的 [dependencies],如 serde = { version = “1.0”, features = [“derive”] }
- 更新依赖:cargo update(更新 Cargo.lock 中记录的精确版本)
- 依赖树:cargo tree(查看依赖层级,排查冲突)
- 构建与运行
- 调试构建:cargo build(产物在 target/debug/)
- 发布构建:cargo build --release(产物在 target/release/)
- 快速运行:cargo run;如需发布模式运行可结合构建结果执行
- 仅检查能否编译:cargo check(比 build 更快)
- 测试与文档
- 运行测试:cargo test
- 生成并打开文档:cargo doc --open
- 其他常用
- 清理缓存:cargo clean
- 安装二进制工具:cargo install ripgrep(安装到 ~/.cargo/bin,请确保该路径在 PATH 中)
三 依赖管理与版本控制要点
- 核心文件
- Cargo.toml:项目清单,定义元数据(如 name、version、edition)、依赖与特性(features)
- Cargo.lock:自动生成,锁定所有依赖的精确版本,确保可重复构建;团队协作与 CI 建议提交此文件
- 常用操作
- 添加或升级依赖后执行 cargo build 自动下载并解析;如需刷新版本约束执行 cargo update
- 查看依赖关系与冲突:cargo tree
- 区分运行时与开发时依赖:将测试、基准等放入 [dev-dependencies],避免打进发布产物
四 国内镜像与加速(可选)
- 配置 Cargo 国内源(提升 crates.io 下载速度)
- 编辑或创建文件:~/.cargo/config.toml
- 示例(清华源):
- [source.crates-io]
replace-with = ‘tuna’
- [source.tuna]
registry = “https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git”
- [registries.tuna]
index = “https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git”
- [net]
git-fetch-with-cli = true
- 也可使用 rsproxy 等镜像,方式类似(将 replace-with 设为 rsproxy 并配置对应 index)。
五 工作区与发布简要
- 工作区(Workspace):管理多个相关包,统一依赖与锁文件
- 根目录 Cargo.toml 中声明:
- [workspace]
members = [“crate1”, “crate2”]
resolver = “2”(推荐新版解析器)
- 统一构建:cargo build --workspace;共享 Cargo.lock,避免重复下载与版本分裂
- 发布到 crates.io
- 在账户设置获取 API Token,本地执行:cargo login
- 完善 Cargo.toml 元数据(name、version、description、license 等)
- 执行:cargo publish(版本号递增后才能再次发布)