Rust在Linux下的包管理
导读:Rust 在 Linux 下的包管理全景 一 核心工具与安装 Cargo 是 Rust 的官方构建系统与包管理器,负责依赖下载、编译、测试、打包与发布;与 rustc(编译器)一起使用。安装 Rust 推荐使用 rustup:执行 cur...
Rust 在 Linux 下的包管理全景
一 核心工具与安装
- Cargo 是 Rust 的官方构建系统与包管理器,负责依赖下载、编译、测试、打包与发布;与 rustc(编译器)一起使用。安装 Rust 推荐使用 rustup:执行
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh,安装后执行source $HOME/.cargo/env将~/.cargo/bin加入 PATH。也可通过发行版包管理器安装(如dnf install rust cargo或apt install rustc cargo),但 rustup 便于多版本与组件管理。常用版本渠道包括 stable 与 nightly,可用rustup install stable|nightly、rustup default stable|nightly切换;组件如 rustfmt 通过rustup component add rustfmt安装。
二 项目依赖管理与常用命令
- 创建与配置
- 创建二进制或库:
cargo new my_app或cargo new --lib my_lib;项目清单为 Cargo.toml,依赖写入[dependencies]。示例:[dependencies] serde = { version = "1.0", features = ["derive"] } rand = "0.8"
- 创建二进制或库:
- 依赖操作
- 添加依赖:直接编辑 Cargo.toml,或使用 cargo-edit 插件:
cargo install cargo-edit,随后cargo add serde@1.0 --features derive、cargo add --dev dev-dep、cargo add --build build-dep、cargo rm dep。 - 更新与锁定:
cargo update按约束更新依赖并改写 Cargo.lock;锁文件用于确保可重复构建。
- 添加依赖:直接编辑 Cargo.toml,或使用 cargo-edit 插件:
- 构建与运行
- 开发构建:
cargo build;发布构建:cargo build --release。 - 快速检查:
cargo check(不生成产物,速度更快)。 - 运行与测试:
cargo run、cargo test。
- 开发构建:
- 依赖可视化与维护
- 依赖树:
cargo tree。 - 清理缓存:
cargo clean。 - 离线与可重复构建:
cargo fetch、cargo vendor。
- 依赖树:
三 镜像与私有仓库配置
- 国内镜像(提升 crates.io 下载速度)
- 在
~/.cargo/config配置 rsproxy.cn(建议 Cargo > = 1.68 使用 sparse-index):[source.crates-io] replace-with = 'rsproxy-sparse' [source.rsproxy] registry = "https://rsproxy.cn/crates.io-index" [source.rsproxy-sparse] registry = "sparse+https://rsproxy.cn/index/" [registries.rsproxy] index = "https://rsproxy.cn/crates.io-index" [net] git-fetch-with-cli = true
- 在
- 工具链镜像(rustup)
- 设置环境变量加速工具链下载:
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
- 设置环境变量加速工具链下载:
- 私有仓库
- 可在配置中新增私有 registry 源,配合凭据使用,满足企业内网与合规发布需求。
四 系统级安装与多用户协作
- 系统级二进制安装
- 工具或 CLI 应用可用
cargo install安装到全局(位于 Cargo 的 bin 目录);如需卸载使用cargo uninstall。适合安装如 ripgrep 等通用工具。
- 工具或 CLI 应用可用
- 多用户与 CI 建议
- 团队与 CI 环境优先使用 rustup 管理工具链与组件,锁定 Cargo.lock,必要时配合
cargo vendor实现离线、可重复的构建与审计。
- 团队与 CI 环境优先使用 rustup 管理工具链与组件,锁定 Cargo.lock,必要时配合
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Rust在Linux下的包管理
本文地址: https://pptw.com/jishu/777121.html
