当前位置: 首页 > news >正文

记Windows 11环境Rust下载安装配置流程

记Windows 11环境Rust下载安装配置流程

一、Rustup下载

按我的理解,这个工具类似于Steam,Rust则是你要安装的游戏,你可以在这个下载器命令行界面进行对Rust的镜像源、安装位置配置。

在Rust官网链接下载Rustup下载器。

image-20251017141924154

 

 

二、Rust安装前环境配置

Crates.io是Rust的包注册中心,地位等同于Python的PyPI,就是用来安装或者发布库的,用过Python的应该很好理解这一点;

Cargo是Rust的包管理器,地位等同于Python的pip,是下载安装包的;

Crate意思就是包,跟Python里的Package是一样的;

Cargo.toml就是声明项目所依赖的外部库,跟Python的requirements.txt/pyproject.toml类似;

另外,Rust的Rustup是一个较为独特的工具,可以靠它来进行版本管理、工具链更新、编译等功能,这是C++、Python所不具备的,如果一定要类比,那它类似于Python中的pyenv+conda;

综上所述,我们要想配置国内镜像源的话,就应该从配置Cargo源以及安装工具链的Rustup源入手,其中,配置Cargo源要在Rust工具链安装完成之后进行,而配置工具链的源应该在最开始进行。

根据官方文档说明,我们可以在使用Rustup下载器下载安装Rust之前,设置好环境变量 CARGO_HOMERUSTUP_HOME 来自定义安装位置,设置RUSTUP_DIST_SERVERRUSTUP_UPDATE_ROOT来配置国内Rust工具链源。

2.1.配置工具链国内源

目前网上评价比较好的Rust源,一个是中科大的源(USTC文档),一个是字节跳动的源(RsProxy文档

可以使用管理员权限的powershell命令添加环境变量,也可以手动搜索“环境变量”,打开后选择环境变量进行添加

image-20251017160932413

image-20251017161555067

 

选择新建系统变量,按照字节跳动官方文档进行配置:

# 按照这个参数进行设置
RUSTUP_DIST_SERVER="https://rsproxy.cn"
RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"

  

Rust官方文档对这两个环境变量是这样解释的:

RUSTUP_DIST_SERVER (default: https://static.rust-lang.org). Sets the root URL for downloading static resources related to Rust. You can change this to instead use a local mirror, or to test the binaries from the staging directory.

RUSTUP_UPDATE_ROOT (default https://static.rust-lang.org/rustup). Sets the root URL for downloading self-update.

image-20251017161311252

image-20251017162017126

image-20251017161958629

 

(可选)对于中科大源,本步骤的系统变量则改为:

RUSTUP_DIST_SERVER="https://mirrors.ustc.edu.cn/rust-static"
RUSTUP_UPDATE_ROOT="https://mirrors.ustc.edu.cn/rust-static/rustup"

配置完成后一路返回点“确定”,即可完成工具链源的配置。

 

2.2.(可选)自定义Rust及工具链安装位置

如果不想更改安装位置的话,RUSTUP_HOME的默认值是~/.rustup%USERPROFILE%/.rustup,也就是装在C盘下的用户目录下,这个不用专门操作,直接跳过这一步,看下一个步骤就行了。

如果要改安装位置,比如我想改到D盘,那就要继续新建环境变量:

CARGO_HOME="D:\Rust\cargo"
RUSTUP_HOME="D:\Rust\rustup"

  

image-20251017164756965

 

 

三、安装Rust

运行之前在第一步下载好的rustup-init.exe,输入1并回车,开始下载

image-20251017172502824

 

因为我电脑上之前就有Visual Studio等一些工具,所以这里没有弹出下载界面,只在命令行内就完成了下载过程,大概三四分钟的样子:

image-20251017173127546

 

然后回车后自动关闭命令行界面,可以在环境变量-用户变量-Path处看到程序自动添加的CARGO_HOME\bin变量:

image-20251017174548980

 

四、配置Cargo源并验证

4.1.字节源的一个错误配置

CARGO_HOME下新建config.toml文件(cargo版本 >= 1.68),添加内容如下,这一步用的是字节跳动的源(内容来自字节跳动镜像站官网),这个源设置是有问题的,下面会进行说明,这里展示一下它官网目前所提供的配置内容:

[source.crates-io]
replace-with = 'rsproxy-sparse'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true

如果用中科大的源,应该换成如下内容(内容来自中科大镜像站使用说明):

[source.crates-io]
replace-with = 'ustc'
​
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
​
[registries.ustc]
index = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

当配置Cargo国内源之后,使用cargo searchcargo info命令需要加上 --registry xxxx 参数。如果是中科大源,就加上 --registry ustc ;如果是字节跳动的源,就加上 --registry rsproxy-sparse

 

⚠️当配置字节跳动的源运行cargo search serde --registry 'rsproxy-sparse'命令时,会得到报错:

error: registry index was not found in any configuration: `rsproxy-sparse`

  

意思是Cargo 在其配置中找不到名为 rsproxy-sparse 的注册表 (Registry) 定义。

中科大源则不会出现这个问题:

image-20251017190703360

那么应该如何更改字节源的配置呢?

 

4.2.正确的字节源配置内容

我们可以仿照中科大源的配置文件,给字节跳动的源加两行:

[registries.rsproxy-sparse]
index = "sparse+https://rsproxy.cn/index/"

  

修改config.toml文件后,重新运行命令cargo search serde --registry rsproxy-sparse,发现已经成功了:

image-20251017192002279

 

那么字节源也配置完成了。

其实这个配置错误的问题在字节源官网的RsProxy 说明页已经在三个月前被一个网友指出了,但无论是官网页还是详细说明页都没有更改,这一方面让人感觉字节似乎对维护这个镜像不是很用心;但另一方面,字节的这个源速度是很快的,感觉配置也是不低的,应该也是比较上心的才对,这分析起来有点矛盾,也许只是忘改了吧。

可以中科大源结合着字节源一起用,我看中科大的镜像维护文档说明还是很详细的,有什么注意事项都标出来了,不愧是顶尖理工类大学,懂不懂红专并进、理实交融的含金量啊。(要是没有人到处膜就更好了)

image-20251017192503483

 

 
http://www.hskmm.com/?act=detail&tid=33230

相关文章:

  • K8s学习笔记(九) job与cronjob - 教程
  • [HZOI]CSP-S模拟33
  • [PaperReading] VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual Documents
  • ShandongCCPC2024
  • 标悬浮展开多级菜单
  • Nimble:让SwiftObjective-C测试变得更优雅的匹配库 - 指南
  • 2025.10.17总结 - A
  • Ubuntu创建python桌面图标
  • 深入解析Pure恶意软件家族:从RAT到构建器再到开发者
  • Ubuntu上配置Flask应用程序的Nginx和uWSGI
  • 实验一 现代c++基础课程
  • 平均融资利率求法及ORACLE语法解析
  • [Linux]如何列出被软链接的文件,列出被链接位置
  • 10.13课后作业
  • 【Linux】基础 I/O - 指南
  • 不情愿算法学概论
  • DIVCNT
  • 3. JVM 运行时数据区
  • 软工学习日志
  • Pixelium Design:Vue3 的像素风 UI 组件库
  • 修电脑不求人:AI智能修复电脑工具的体验分享
  • 效率与安全双升:AI许可证识别重塑医药行业合规流程
  • Spring BeanPostProcessor 前置处理 afterPropertiesSet BeanPostProcessor 后置处理区别
  • Xcode上编译调试ffmpeg - 详解
  • 最新版Origin 2025b安装包下载及详细安装教程,附永久免费中文汉化破解版Origin安装包
  • 第十七篇
  • 《程序员修炼之道》阅读笔记1
  • Unity3D中定义全局宏(不同于在unity设置中的)
  • AtCoder arc208 总结
  • OOP - 实验一