温馨提示×

Linux下Rust的包管理工具使用指南

小樊
33
2025-12-18 08:05:15
栏目: 编程语言

Linux 下 Rust 包管理工具使用指南

一 安装与工具链管理

  • 使用官方工具链管理器 rustup 安装与更新,推荐在 Linux 上执行:
    • 安装:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • 启用环境:source $HOME/.cargo/env
    • 验证:rustc --versioncargo --version
  • 发行版仓库安装(版本通常较旧):如 Debian/Ubuntu 可执行 sudo apt-get install rustc cargo,或 Fedorasudo dnf install rust cargo
  • 多版本与更新:
    • 查看/切换:rustup showrustup default stable|nightly|beta
    • 更新:rustup update;检查更新:rustup check
    • 本地离线文档:rustup docrustup doc --bookrustup doc --stdrustup doc --cargo
  • 可选优化:设置镜像源加速下载,例如 export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static 后再运行安装脚本。

二 项目与依赖管理

  • 创建项目:
    • 二进制可执行:cargo new my_app && cd my_app
    • 库:cargo new my_lib --lib
  • 添加依赖:编辑项目根目录的 Cargo.toml,在 [dependencies] 下写入包名与版本/特性,例如:
    • serde = { version = "1.0", features = ["derive"] }
    • rand = "0.8"
  • 获取与更新依赖:
    • 首次构建拉取依赖:cargo build
    • 仅更新补丁版本:cargo update(会改写 Cargo.lock 中已解析版本)
  • 构建与运行:
    • 调试构建:cargo build
    • 发布构建:cargo build --release
    • 运行:cargo run;运行测试:cargo test
  • 常用辅助:
    • 依赖树:cargo tree
    • 快速语法/类型检查:cargo check
    • 清理构建产物:cargo clean
  • 说明:Cargo.toml 描述包元信息与依赖;Cargo.lock 锁定依赖的精确版本,确保可复现构建。

三 构建配置与常用命令速查

目标 命令示例 说明
新建二进制项目 cargo new app 生成 src/main.rs
新建库项目 cargo new lib --lib 生成 src/lib.rs
构建调试版 cargo build 输出至 target/debug
构建发布版 cargo build --release 输出至 target/release,开启优化
运行程序 cargo run 等价于 build + run
运行测试 cargo test 运行单元/集成测试
检查代码 cargo check 快速检查,不生成产物
更新依赖 cargo update 更新 Cargo.lock 中的版本
依赖树 cargo tree 查看依赖层级与版本
清理缓存 cargo clean 删除 target 目录
查看/切换工具链 rustup showrustup default nightly 管理 stable/beta/nightly
本地文档 rustup doc --book 打开《The Rust Programming Language》
以上命令覆盖日常开发的高频场景,足以完成从创建、依赖管理到构建发布的闭环。

四 常见问题与进阶

  • 构建失败提示缺少链接器:在 Linux 安装系统链接器,例如 Debian/Ubuntu 执行 sudo apt-get install build-essential,或 Fedorasudo dnf groupinstall "Development Tools"
  • 使用系统包管理器还是 rustup:发行版仓库安装简单但版本可能滞后;rustup 便于多版本切换、组件管理与快速更新,开发推荐 rustup。
  • 离线文档与帮助:rustup doc 可离线查看官方文档;cargo --helprustup --help 查看子命令用法。
  • 进阶工具(可选):
    • 代码格式化:cargo fmt
    • 静态检查:cargo clippy
    • 生成 C 绑定:cargo install bindgen,如 bindgen /path/to/header.h -o src/bindings.rs
    • 依赖编辑扩展:cargo-edit(提供 cargo add/rm/upgrade 等便捷子命令)。

0