说明
rustup是官方推荐的工具,可以方便的搭建环境,方便切换nightly和stable版本,并可以使用国内的镜像地址加速安装
参考
https://www.rust-lang.org/en-US/other-installers.html
https://github.com/rust-lang-nursery/rustup.rs
https://lug.ustc.edu.cn/wiki/mirrors/help/rust-crates?s[]=rust
Rust 镜像 - huangjj27's Tech blog
RUSTUP配置和使用
国内更新镜像
设置环境变量 RUSTUP_DIST_SERVER(用于更新 toolchain)
export RUSTUP_DIST_SERVER="https://mirrors.ustc.edu.cn/rust-static"
以及 RUSTUP_UPDATE_ROOT(用于更新 rustup)
export RUSTUP_UPDATE_ROOT="https://mirrors.ustc.edu.cn/rust-static/rustup"
官方的默认地址是
export RUSTUP_UPDATE_ROOT="https://static.rust-lang.org/rustup/dist"
windows也只需同样修改环境变量即可 安装rustup
curl https://sh.rustup.rs -sSf | sh
~~ 速度可能很慢可以把sh下载下来然后修改里面的地址
curl -o rust-init.sh https://sh.rustup.rs
替换RUSTUP_UPDATE_ROOT
的地址 ~~
切换默认版本
rustup default stable
rustup default nightly
rustup default nightly-gnu
rustup default stable-gnu
rustc --version
windows下面clion的rust插件可以打断点并进行调试操作,但是只支持gnu版本,可以使用下面的命令切换到gnu的版本
rustup default stable-gnu
windows使用
安装msvc版本
rustup default stable-msvc
Rust 1.60.0 后的版本使用(感谢评论区大佬):
Windows 下的文件路径:
C:\Users\<user_name>\.cargo\config.toml
文件内容:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'sjtu'
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区 - 已失效!
# [source.rustcc]
# registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
# rustcc 1号源
[source.rustcc]
registry="git://crates.rustcc.com/crates.io-index"
# rustcc 2号源
[source.rustcc2]
registry="git://crates.rustcc.cn/crates.io-index"
Rust 1.60.0 以前使用下列配置
Cargo国内Crates镜像配置
在 $HOME/.cargo/config 中添加如下内容
[registry]
index = "git://mirrors.ustc.edu.cn/crates.io-index"
如果所处的环境中不允许使用 git 协议, 可以把上述地址改为
index = "http://mirrors.ustc.edu.cn/crates.io-index"
同步频率为每两个小时更新一次.
如果 cargo 版本为 0.13.0 或以上, 需要更改 $HOME/.cargo/config 为以下内容:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
更新版本
只需要一句命令,就可以更新所有的工具链的版本,stable和nightly版本也会一并更新
rustup update