Cargo| Rust
Rust 是一门专注于 安全性、速度和并发性 的现代系统编程语言。它让你能够编写高性能、高可靠性的底层软件(如操作系统、游戏引擎、浏览器组件),同时又能享受到高级语言的开发体验。
rustup 是 Rust 编程语言的官方工具链管理器,主要用于 rust 的安装、更新,以及多版本管理版。
cargo 是 Rust 的包管理器和构建工具。负责管理项目、下载第三方库(包)、编译代码、运行测试等。
Cargo 仓库 是 Rust 的官方软件包仓库,用于发布、存储和分发 Rust 的所有软件包。
rustc 是 Rust 编译器。将 Rust 源代码编译成机器码的核心程序,通常通过 cargo 来调用。
在进行 Rust 开发时,可以先通过 rustup 安装 Rust 编译器,然后通过 cargo 创建项目并开始编写代码,最后再由 rustc 编译成可执行文件。
但是,在国内访问Cargo 仓库 的速度较慢,一般需要通过配置来加速资源的下载。
🔧 如何配置加速
配置 rustup 镜像
在终端中执行以下命令,将环境变量写入 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc )。以下以清华源为例:
echo 'export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup' >> ~/.bashrc
echo 'export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup' >> ~/.bashrc
source ~/.bashrc # 使配置立即生效
# 安装 rustup
curl https://sh.rustup.rs -sSf | sh
配置 Cargo 镜像
在用户目录下的 .cargo 文件夹中创建或修改 config.toml(或 config)文件,并添加以下内容(以清华稀疏索引为例):
- Linux/MacOS:
~/.cargo/config.toml - Windows:
%USERPROFILE%\.cargo\config.toml
[source.crates-io]
replace-with = 'tuna'
[source.tuna]
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
# 可选:让 Git 通过命令行操作,提升稳定性
#[net]
#git-fetch-with-cli = true
建议:
- 优先尝试稀疏索引:如果你的 cargo 版本
>= 1.68(可通过cargo -V查看),强烈建议使用表中sparse+https://开头的地址。它无需克隆整个索引仓库,速度更快。 - 仅需一个源:配置时只需启用一个 [source.xxx] 即可,多个源可能造成冲突。
🚀 更多镜像源
清华大学的镜像
推荐方式。速度快,资源占用少,需 cargo 1.68+。
- 配置 rustup
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
curl https://sh.rustup.rs -sSf | sh
- 配置 Cargo
[source.crates-io]
replace-with = 'tuna'
[source.tuna]
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
中国科学技术大学的镜像
速度稳定,需 cargo 1.68+。
- 配置 rustup
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
- 配置 Cargo
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
华中科技大学 HUST
- 配置 rustup
export RUSTUP_DIST_SERVER=https://mirrors.hust.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.hust.edu.cn/rust-static/rustup
curl https://sh.rustup.rs -sSf | sh
- 配置 Cargo
[source.crates-io]
replace-with = 'hust'
[source.hust]
registry = "sparse+https://mirrors.hust.edu.cn/crates.io-index/"
阿里云 Aliyun
- 配置 rustup
export RUSTUP_DIST_SERVER=https://mirrors.aliyun.com/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.aliyun.com/rust-static/rustup
curl https://sh.rustup.rs -sSf | sh
- 配置 Cargo
[source.crates-io]
replace-with = 'aliyun'
[source.aliyun]
registry = "sparse+https://mirrors.aliyun.com/crates.io-index/"
上海交通大学 SJTUG
- 配置 rustup
export RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.sjtug.sjtu.edu.cn/rust-static/rustup
curl https://sh.rustup.rs -sSf | sh
- 配置 Cargo
[source.crates-io]
replace-with = 'sjtug'
[source.sjtug]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"