安装
下载Rust的安装器
从官网下载rustup-init.exe
。
说明:
rustup
是安装和管理 Rust 构建版本的工具。rustup 用于管理不同平台下的 Rust 构建版本并使其互相兼容, 支持安装由 Beta 和 Nightly 频道发布的版本,并支持其他用于交叉编译的编译版本cargo
是rust的包管理器和构建系统工具。它将常用命令集于一身,无需引入其它命令。rustup程序是rust的安装程序,也是他的版本管理程序,类似于Python的Anaconda发行版的conda工具,非常方便使用管理。cargo是rust的构建工具,暂不介绍,需要明白的是:rustup是管理语言自身的,cargo是管理第三方拓展的。
配置path
环境变量
在 Rust 开发环境中,所有工具都安装在 ~/.cargo/bin
目录中,您可以在这里找到包括 rustc
、cargo
和 rustup
在内的 Rust 工具链。
所以,如果打算修改默认的安装位置,可以在环境变量中这样设置,以安装路径为D:\Program Files\Rust\
为例。否则会默认安装在 C 盘下。 1
2CARGO_HOME:D:\Program Files\RUST\.cargo
RUSTUP_HOME:D:\Program Files\RUST\.rustup
安装
MSVC工具链方式
下载完成后直接点击执行,会出现一个CMD窗口:仔细阅读上面的内容,如果没有安装Microsoft 2019 builder tools,就从这里进行下载安装。
下载build tools之后,在Visual studio installer中只选择“C++生成工具”,然后只选择"MSVC v142 - VS2019 C++ x64/x86 生成工具"。安装上去大约需要1.8G硬盘空间。
安装Rust
运行rustup-init.exe
然后,在下面输入1,进行默认安装:
检查是否安装成功
1 | rustc --version |
GNU工具链方式
gnu(本文使用MinGW-w64)占用空间小(500M),对于初步的rust使用足够了。
安装MinGW-w64
这里你可以选择安装的版本, 建议只更改第二项至x86_64, 其他选项不做改动。
关于Threads选项的说明:
To summarize:
posix
: enable C++11/C11 multithreading features. Makes libgcc depend on libwinpthreads, so that even if you don't directly call pthreads API, you'll be distributing the winpthreads DLL. There's nothing wrong with distributing one more DLL with your application.win32
: No C++11 multithreading features.
Neither have influence on any user code calling Win32 APIs or pthreads APIs. You can always use both.
exception seh (for Structured Exception Handling mechanism).
这里可以设置安装目录, 我安装在
### 环境变量的配置
新增 D:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
到PATH
。
检查安装是否成功
1 | C:\Users\junlv>mingw32-make --version |
安装Rust
运行rustup-init.exe
然后,在下面输入2,进行定制化安装:
default host triple
修改为x86_64-pc-windows-gnu
继续选1进行安装即可。
安装验证
1 | E:\Downloads\Programs>rustc --version |
安装源代码用于代码补全
1 | E:\Downloads\Programs>rustup component add rust-src |
卸载
如果想卸载 Rust,可以运行 rustup self uninstall
# 升级 如果曾经安装过 rustup
,可以执行 rustup update
来升级 Rust。 在升级过程中,如果遇到无法下载rustup-init.exe
文件之类的错误,尝试更改国内镜像。使用中科大和清华源时出现过该类问题。更改为字节跳动镜像。 RUSTUP_DIST_SERVER="https://rsproxy.cn" export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"