Linux中Rust版本如何管理
导读:Linux下Rust版本管理实践 一 核心工具与安装 使用官方的rustup进行版本管理,支持安装、更新、切换stable/beta/nightly以及具体版本(如1.86.0),并为不同项目隔离工具链。 安装步骤(无需 root):...
Linux下Rust版本管理实践
一 核心工具与安装
- 使用官方的rustup进行版本管理,支持安装、更新、切换stable/beta/nightly以及具体版本(如1.86.0),并为不同项目隔离工具链。
- 安装步骤(无需 root):
- 下载并执行安装脚本:
curl --proto '=proto' --tlsv1.2 -sSf https://sh.rustup.rs | sh - 使环境变量生效:
source $HOME/.cargo/env - 验证:
rustc --version、cargo --version
- 下载并执行安装脚本:
- 说明:rustup将可执行文件放入**~/.cargo/bin并加入$PATH**,后续所有
cargo/rustc调用都会经由rustup的“代理”转发到当前激活的工具链。
二 常用命令速查
- 查看状态与路径
rustup show:查看当前激活/默认工具链与组件rustup which rustc、rustup which cargo:查看实际调用的二进制路径
- 安装与卸载
rustup install stable|beta|nightlyrustup install 1.86.0rustup uninstall nightly
- 切换与运行
- 全局默认:
rustup default stable - 临时运行:
rustup run nightly cargo build
- 全局默认:
- 更新
rustup update(更新全部)rustup update nightly(仅更新 nightly)
- 组件与目标三元组
- 组件:
rustup component add clippy rustfmt rust-src rust-analyzer - 目标:
rustup target add wasm32-unknown-unknown、rustup target add aarch64-apple-darwin
- 组件:
- 项目级配置
- 目录级覆盖:
rustup override set nightly(生成/更新rust-toolchain文件) - 取消覆盖:
rustup override unset
- 目录级覆盖:
- 文档与帮助
rustup doc、rustup doc --book、rustup doc --stdrustup completions bash|zsh生成补全脚本
三 多版本与团队协作策略
- 全局与项目级并存
- 全局默认用stable;对需要特性的项目在根目录执行
rustup override set nightly(或指定具体日期的 nightly,如nightly-2025-01-10),实现“本机多版本、项目各取所需”。
- 全局默认用stable;对需要特性的项目在根目录执行
- 版本锁定文件
- 推荐使用rust-toolchain.toml精确锁定版本与组件,便于团队协作与CI复现:
[toolchain] channel = "1.75.0" components = ["rustfmt", "clippy", "rust-src"] targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"] profile = "minimal" - 也可在文件中钉死 nightly 日期:
channel = "nightly-2024-04-01"。
- 推荐使用rust-toolchain.toml精确锁定版本与组件,便于团队协作与CI复现:
四 组件与交叉编译
- 常用组件
- 代码质量与格式化:
clippy、rustfmt - IDE/语言支持:
rust-analyzer(LSP)、rust-src(标准库源码,便于跳转与补全)
- 代码质量与格式化:
- 交叉编译目标
- WebAssembly:
rustup target add wasm32-unknown-unknown - Apple Silicon 主机交叉:
rustup target add aarch64-apple-darwin - 查看与清理:
rustup target list、rustup target remove < triple>
- WebAssembly:
五 镜像加速 离线 与 卸载
- 镜像加速(企业内网/地区网络)
- 设置镜像源后更新:
export RUSTUP_DIST_SERVER=https://< mirror> /dist、export RUSTUP_UPDATE_ROOT=https://< mirror> /update,再执行rustup update
- 设置镜像源后更新:
- 离线与受限网络
- 联网机安装好工具链后,打包**~/.rustup/toolchains/目录,在目标机解压到相同RUSTUP_HOME**即可离线使用;CI可缓存
~/.rustup/toolchains与~/.cargo/registry提升速度。
- 联网机安装好工具链后,打包**~/.rustup/toolchains/目录,在目标机解压到相同RUSTUP_HOME**即可离线使用;CI可缓存
- 卸载
- 完全移除:
rustup self uninstall(会清理~/.cargo与~/.rustup)
- 完全移除:
- 目录与环境变量
- 默认位置:Unix 为**$HOME/.rustup**、$HOME/.cargo;可通过
RUSTUP_HOME、CARGO_HOME自定义。
- 默认位置:Unix 为**$HOME/.rustup**、$HOME/.cargo;可通过
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux中Rust版本如何管理
本文地址: https://pptw.com/jishu/759623.html
