热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Rust使用国内Crates源、rustup源|字节跳动新的Rust镜像源以及安装rust

文章目录一、背景二、字节跳动新的Rust镜像源以及安装rustcrates.ioMirrorRustupMirror安装Rust三、rust使用其他国内镜像以及安装rust使用国内

文章目录

    • 一、背景
    • 二、字节跳动新的 Rust 镜像源以及安装rust
      • crates.io Mirror
      • Rustup Mirror
      • 安装Rust
    • 三、rust 使用其他国内镜像以及安装rust
      • 使用国内源 (ustc) 之后依然无法下载最新包


一、背景

Rust社区公开的第三方包都集中在crates.io网站上面,他们的文档被自动发布到doc.rs网站上。
rustup是一个管理 Rust 版本和相关工具的命令行工具。rustup 是一个命令行应用,能够下载并在不同版本的 Rust 工具链中进行切换

Rust开发时有时使用官方的源太慢,可以考虑更换使用国内的源。

二、字节跳动新的 Rust 镜像源以及安装rust

字节跳动搞的,希望能帮助建设国内的 rust 生态,感兴趣的话可以试用,无任何限速(实际上是 1000Gbps)。

地址:https://rsproxy.cn/

crates.io Mirror

vi ~/.cargo/config

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

Rustup Mirror

~/.zshrc or ~/.bashrc:

vi ~/.bashrc

export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"

安装Rust

完成上面2步,然后执行:

# export the env above first
curl --proto '=https' --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh

三、rust 使用其他国内镜像以及安装rust

参考: http://mirrors.ustc.edu.cn/help/crates.io-index.html

由于rustup官方服务器在国外
如果直接按照rust官网的安装方式安装非常容易失败,即使不失败也非常非常慢

我们需要指定 RUSTUP_DIST_SERVER(默认指向 https://static.rust-lang.org)和 RUSTUP_UPDATE_ROOT (默认指向https://static.rust-lang.org/rustup),这两个网站均在中国大陆境外,因此在中国大陆访问会很慢,需要配置成境内的镜像。

方式一:
设置环境变量 RUSTUP_DIST_SERVER(用于更新 toolchain)
以及 RUSTUP_UPDATE_ROOT(用于更新 rustup)

vi /etc/profile

# 清华大学
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup# 中国科学技术大学
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup# 上海交通大学
RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static/

source /etc/profile

使用国内镜像的方法

  1. 首先修改一下上面的命令,将安装脚本导出

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rust.sh

  1. 打开 rust.sh 脚本

  2. 修改环境变量
    export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
    将 RUSTUP_UPDATE_ROOT 修改为
    RUSTUP_UPDATE_ROOT=“https://mirrors.ustc.edu.cn/rust-static/rustup”

  3. 执行脚本

bash rust.sh

  1. 测试是否安装成功

rustc --version

使用国内源 (ustc) 之后依然无法下载最新包

中国科大的镜像不稳定,有单个 ip 的并发限制, 官方说添加 CARGO_HTTP_MULTIPLEXING=false 参考链接: mirrors.ustc.edu.cn/help/crates.io-…
Rust dependencies依赖管理crates.io原理梳理
原文链接:https://blog.csdn.net/mutourend/article/details/106415130

这个是说在使用 nightly 版本的时候可能会报错,我直接用的是官方的稳定版… 不过似乎半夜是可以下载的,可能是和国内用户访问的频率流量有关

rm /root/.cargo/config -f #删掉本地 中科大配置,使用默认官网下载

使用 nightly 版本时,Crates 源可能会出现 Couldn’t resolve host name (Could not resolve host: crates) 错误(见 https://github.com/ustclug/discussions/issues/294)。一个临时的解决方法是在运行 cargo 的时候加入环境变量 CARGO_HTTP_MULTIPLEXING=false。

还因各种原因,即使切换为国内镜像源,仍然无法从crates.io中下载各依赖包的情况。

经验证,无法下载是因为局域网内https://crates-io.proxy.ustclug.org/api/v1/crates被屏蔽无法连接,而https://crates.io/api/v1/crates 可连接成功。

最简单的方法就是切换为默认源,哪怕慢点。


推荐阅读
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • This document outlines the recommended naming conventions for HTML attributes in Fast Components, focusing on readability and consistency with existing standards. ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • VSCode与Gitee集成:项目提交的高效实践
    本文介绍如何利用VSCode内置的Git工具将项目提交到Gitee,简化Git命令的使用,提升代码管理效率。同时分享一些常见的踩坑经验和解决方案。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
author-avatar
php小学生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有