Windows 下搭建 Rust 开发环境

本贴最后更新于 1230 天前,其中的信息可能已经东海扬尘

Rust 支持很多的集成开发环境(IDE)或开发专用的文本编辑器。查看官网公布支持的开发工具。

本文采用的是 Microsoft C++ 生成工具 + Visual Studio Code 的方式。

Rust 的编译工具依赖 C 语言的编译工具,可以使用 Microsoft C++ 生成工具 或者 MinGW + GCC 编译环境。

安装 Microsoft C++ 生成工具

Microsoft C++ 生成工具 主要是为 Rust 提供一个 C 编译环境,它是 Visual Studio 的一个可以单独安装的组件。如果系统安装了 Visual Studio 2013 及以上版本,并且在安装期间勾选了 Microsoft C++ 生成工具,那么就不需要再额外安装 Microsoft C++ 生成工具 了。

下载 Microsoft C++ 生成工具

双击下载的安装包 vs_buildtools__xxx.xxx,在弹出的窗口中勾选【C++ 生成工具】和英语语言包,然后点击【安装】。
vsbuildtools01.png

vsbuildtools.png

安装 rustup

安装 rustup

rustup 是 Rust 的安装和管理工具,默认情况下,它会同时安装这些工具:rustc,rust-std,cargo,rust-docs,rustfmt,clippy。其中,rustc 是 Rust 的编译工具,cargo 是 Rust 的包管理工具。

下载 RUSTUP-INIT.EXE

双击下载的 RUSTUP-INIT.EXE,若操作系统没有安装 C 语言编译环境,在弹出的 CMD 窗口中会进行提示(见下图红色字)。
rustup01.png

双击下载的 RUSTUP-INIT.EXE,若已经安装了 Microsoft C++ 生成工具,则会展示以下内容。直接敲回车即可,因为它默认选的 C 语言编译环境就是 MSVC。
rustup02.png
若要使用 MinGW + GCC 编译环境,则需要输入 2,进行自定义安装(需要提前安装 MinGW)。

安装成功:敲回车,安装结束。
rustup03.png

确认:打开新的 cmd 窗口,输入 rustc --versioncargo --version 命令。
rustup04.png

安装 VSCode 及相关插件

首先要安装 Visual Studio Code,然后在 VSCode 中安装下面的插件:

配置国内 Crate 源

在构建 Rust 项目时,Cargo 工具会从 "registry" 获取项目依赖包(Crate),默认的 "registry" 是 crates.io。但是在国内访问这个网站时往往速度比较慢,因此我们可以将其替换为国内的 Crate 源。

配置方法:在 $HOME/.cargo/config 文件中添加如下内容

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

第一个 Rust 程序

新建一个 rust_demo 文件夹,然后用 VSCode 打开。在 VSCode 界面新建一个终端,输入下面的命令:

# 创建一个名为 helloworld 的包(工程)
cargo new helloworld
# 进入 helloworld 文件夹
cd .\helloworld\
# 构建
cargo build
# 运行(先构建再运行)
cargo run

rust01.png

可能会遇到的问题

程序运行时阻塞

提示信息

PS F:\rust-demo> cd .\guessing_game\
PS F:\rust-demo\guessing_game> cargo run
    Blocking waiting for file lock on package cache

解决方法

如果确定没有多个程序占用,删除 ~/.cargo/.package-cache 文件。

修改镜像后下载 Crate 失败

报错信息

PS F:\rust-demo\guessing_game> cargo build
    Updating `git://mirrors.ustc.edu.cn/crates.io-index` index
warning: spurious network error (2 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - ���ڵ������������ѻ������������޷���������)
warning: spurious network error (2 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - ���ڵ������������ѻ������������޷���������)
warning: spurious network error (2 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - ���ڵ������������ѻ������������޷���������)
warning: spurious network error (2 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - ���ڵ������������ѻ������������޷���������)
warning: spurious network error (1 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - ���ڵ������������ѻ������������޷���������)
warning: spurious network error (1 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) - ���ڵ������������ѻ������������޷���������)
warning: spurious network error (1 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed

解决方法:

~/.cargo/config 文件中加入下面的内容

[http]
check-revoke = false

相关资料

The Rust Programming Language

Install Rust

Rust 环境搭建

Source Replacement - The Cargo Book

Rust Crates 源使用帮助

  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
4 操作
lingyundu 在 2021-03-10 11:58:03 更新了该帖
lingyundu 在 2020-11-21 17:32:02 更新了该帖
lingyundu 在 2020-11-20 21:39:29 更新了该帖
lingyundu 在 2020-11-20 21:32:10 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...