Linux环境下Rust的包管理如何操作
导读:Linux下Rust包管理操作指南 一 环境准备与安装 在 Linux 上推荐使用 rustup 安装 Rust 工具链(包含 cargo、rustc、rustup): 安装命令:curl --proto '=https' --tlsv...
Linux下Rust包管理操作指南
一 环境准备与安装
- 在 Linux 上推荐使用 rustup 安装 Rust 工具链(包含 cargo、rustc、rustup):
- 安装命令:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - 使配置生效:
source "$HOME/.cargo/env" - 验证安装:
cargo --version
- 安装命令:
- 常用目录与变量:
- CARGO_HOME:Cargo 家目录,默认 ~/.cargo
- CARGO_BIN:Cargo 可执行文件目录,默认 ~/.cargo/bin(安装器会自动加入 PATH)
- 卸载:
rustup self uninstall
二 项目与依赖管理
- 创建项目:
- 二进制程序:
cargo new hello_world --bin - 库项目:
cargo new my_lib --lib
- 二进制程序:
- 添加依赖:编辑项目根目录的 Cargo.toml,在 [dependencies] 下写入包与版本,例如:
serde = { version = "1.0", features = ["derive"] }rand = "0.8"
- 更新依赖:
- 升级到符合 Cargo.toml 约束的新版本:
cargo update(会更新 Cargo.lock 中记录的精确版本)
- 升级到符合 Cargo.toml 约束的新版本:
- 构建与运行:
- 构建:
cargo build - 运行:
cargo run
- 构建:
- 质量与文档:
- 快速检查(不生成产物):
cargo check - 运行测试:
cargo test - 生成文档:
cargo doc
- 快速检查(不生成产物):
- 依赖可视化与清理:
- 查看依赖树:
cargo tree - 清理构建产物:
cargo clean
- 查看依赖树:
三 常用工作流与命令速查
- 初始化现有代码:
cargo init - 代码格式化:
cargo fmt - 静态检查(Lint):
cargo clippy --all-targets -- --D warnings - 代码覆盖率:
cargo tarpaulin --ignore-tests - 发布到 crates.io:
- 登录:
cargo login [token] - 打包:
cargo package - 发布:
cargo publish
- 登录:
- 卸载本地已安装二进制:
cargo uninstall ripgrep(仅卸载二进制名称)
四 国内镜像与私有源配置
- 切换 crates.io 索引镜像(编辑或创建 ~/.cargo/config):
- 示例(清华 TUNA):
[source.crates-io] registry = "https://github.com/rust-lang/crates.io-index" replace-with = 'tuna' [source.tuna] registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" - 如切换源后索引异常,可清理缓存:
rm -rf ~/.cargo/.package-cache
- 示例(清华 TUNA):
- 说明:上述为索引镜像,通常不影响你发布到官方 crates.io 的流程;如需私有注册表,可在 config 中新增对应 [source.xxx] 条目并在命令中使用
--registry指定。
五 常见问题与进阶
- 交叉编译简述:
- 安装目标工具链:
rustup target add x86_64-unknown-linux-gnu(示例) - 构建:
cargo build --target x86_64-unknown-linux-gnu - 发行构建:
cargo build --release --target x86_64-unknown-linux-gnu
- 安装目标工具链:
- 锁定文件与团队协作:
- Cargo.lock 记录了依赖的精确版本与依赖树,建议纳入版本控制,确保团队成员与 CI 使用一致依赖。
- 清理与产物目录:
- 清理:
cargo clean - 自定义产物目录:通过环境变量 CARGO_TARGET_DIR 或配置项
build.target-dir指定(例如CARGO_TARGET_DIR=target-ci cargo build)。
- 清理:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux环境下Rust的包管理如何操作
本文地址: https://pptw.com/jishu/768583.html
