Linux系统中Rust包管理工具使用教程
导读:Linux系统中Rust包管理工具使用教程 一 安装与准备 使用官方工具链管理器 rustup 安装(推荐): 安装命令:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs...
Linux系统中Rust包管理工具使用教程
一 安装与准备
- 使用官方工具链管理器 rustup 安装(推荐):
- 安装命令:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - 配置环境:
source $HOME/.cargo/env(或将export PATH=$HOME/.cargo/bin:$PATH加入 shell 配置) - 验证:
rustc --version、cargo --version
- 安装命令:
- 发行版仓库安装(可选):如 Ubuntu/Debian 可执行
sudo apt install rust cargo - 国内镜像加速(可选,提升下载速度):
- rustup 镜像:
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustupexport RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
- crates.io 索引镜像:在
~/.cargo/config.toml添加[source.crates-io] replace-with = 'mirror'[source.mirror] registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"[registries.mirror] index = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
- rustup 镜像:
二 快速上手 创建与运行项目
- 创建项目:
- 二进制可执行:
cargo new my_app(生成src/main.rs) - 库项目:
cargo new my_lib --lib(生成src/lib.rs)
- 二进制可执行:
- 构建与运行:
- 构建:
cargo build(开发构建,输出到 target/debug) - 运行:
cargo run(编译并运行) - 发布构建:
cargo build --release(优化构建,输出到 target/release)
- 构建:
- 常用检查与清理:
- 快速检查可编译:
cargo check(比 build 更快) - 运行测试:
cargo test - 生成文档:
cargo doc - 清理产物:
cargo clean
- 快速检查可编译:
三 依赖管理 Cargo.toml 与版本控制
- 添加依赖:编辑项目根目录的 Cargo.toml,在
[dependencies]下写入包名与版本- 示例:
serde = { version = "1.0", features = ["derive"] }rand = "0.8"
- 示例:
- 版本号语义与范围:
- 精确版本:
=1.2.3 - 兼容版本:
^1.2.3(保持主版本不变,允许次版本与补丁更新) - 范围:
> =1.2.0, < 2.0.0
- 精确版本:
- 更新与锁定:
- 更新依赖到兼容范围的最新版本:
cargo update(更新 Cargo.lock 中记录的精确版本) - 锁定文件:Cargo.lock 记录每个依赖的确切版本,用于保证可复现构建;团队协作与发布时通常应提交此文件
- 更新依赖到兼容范围的最新版本:
- 依赖可视化:
- 查看依赖树:
cargo tree
- 查看依赖树:
四 常用命令速查表
| 命令 | 作用 | 常用选项或说明 |
|---|---|---|
cargo new <
name>
|
创建新项目 | --lib 创建库;默认创建二进制 |
cargo init |
初始化当前目录为 Cargo 项目 | 生成 Cargo.toml 与 src/ |
cargo build |
编译项目 | --release 发布构建 |
cargo run |
编译并运行 | 可带运行参数 |
cargo check |
仅检查能否编译 | 速度快,不产出二进制 |
cargo test |
运行测试 | 支持 -- --nocapture 等 |
cargo doc |
生成项目文档 | 打开 target/doc/index.html |
cargo clean |
清理构建产物 | 删除 target/ |
cargo update |
更新依赖到兼容范围最新 | 改写 Cargo.lock |
cargo tree |
查看依赖树 | 需安装 cargo-tree |
cargo install <
crate>
|
全局安装可执行包 | 如 cargo install ripgrep |
cargo uninstall <
crate>
|
卸载全局包 | 与 install 成对使用 |
cargo publish |
发布库到 crates.io | 需账号与令牌 |
cargo --help / cargo <
cmd>
--help |
查看帮助 | 获取命令细节与用法 |
五 进阶与常见问题
- 交叉编译简述:
- 默认构建为本机目标;跨平台需在
Cargo.toml配置目标工具链(如x86_64-unknown-linux-gnu、aarch64-linux-android等),并准备相应 target 与链接器;可使用cargo build --target < triple>指定目标三元组
- 默认构建为本机目标;跨平台需在
- 工具链管理(rustup):
- 安装工具链:
rustup install stable|beta|nightly - 切换默认:
rustup default stable - 更新工具链:
rustup update - 卸载:
rustup self uninstall
- 安装工具链:
- 全局工具安装位置与卸载:
- 全局包默认安装到 $HOME/.cargo/bin,请确保该目录在 PATH
- 卸载:
cargo uninstall < crate>
- 常见问题排查:
- 命令未找到:确认
source $HOME/.cargo/env已执行或~/.cargo/bin已加入 PATH - 下载慢:配置 rustup 与 crates.io 镜像源
- 版本冲突或不一致:优先使用
cargo update与锁文件 Cargo.lock 保证复现构建;必要时回退版本或调整版本范围
- 命令未找到:确认
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux系统中Rust包管理工具使用教程
本文地址: https://pptw.com/jishu/752887.html
