使用Rustup快速无缝升级Rust

rust update 升级

Rustup 是 Rust 官方的跨平台 Rust 安装工具。我们可以使用rustup升级rust版本

rustup update

rustup is not installed at ‘E:\cargo’

意思是说’E:\argo’未安装rustup
将原来C:\Users\用户名\.cargo\bin下的文件复制到新的E:\cargo\bin

$ rustup update
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
error: rustup is not installed at 'E:\cargo'

再试一次

$ rustup update
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
info: checking for self-updates
info: downloading self-updatestable-x86_64-pc-windows-msvc unchanged - rustc 1.81.0 (2024-09-04)info: cleaning up downloads & tmp directorieswarning: tool `rustfmt` is already installed, 
remove it from `E:\cargo\bin`, then run `rustup update` to have rustup manage this tool.warning: tool `cargo-fmt` is already installed, 
remove it from `E:\cargo\bin`, then run `rustup update` to have rustup manage this tool.

升级rustup 自己

rustup self update

改变rustup默认安装目录

默认情况下,rustup安装的Rust在用户目录下,对于Windows用户就是C盘。假如你的C盘比较小,这样长期使用的结果就是C盘被挤爆。还好rustup可以通过修改环境变量来改变安装目录。这两个环境变量分别是RUSTUP_HOMECARGO_HOME

  • RUSTUP_HOME:存储工具链和配置文件
  • CARGO_HOME:存储cargo的缓存

你需要在rustup运行之前修改好这两个环境变量。对于Linux用户也是这两个环境变量。

Windows

此电脑->属性->高级系统设置->环境变量,新建两个系统变量,变量名分别为RUSTUP_HOMECARGO_HOME,变量值指向你希望的安装目录,比如说D:\rust-toolchainD:\cargo-cache,之后运行rustup就可以安装了。

Linux

打开终端,设定环境变量

export RUSTUP_HOME=[你希望的安装位置]
export CARGO_HOME=[你希望的安装位置]

之后在这个终端窗口运行rustup就好了。

参考资料

修改/移动 rustup 和 cargo 位置
rust update 升级
Rustup清华镜像

config配置

$ cargo -V
warning: both `E:\cargo\config` and `E:\cargo\config.toml` exist. Using `E:\cargo\config`
cargo 1.81.0 (2024-08-20)

如果正在使用 cargo 1.68 及以上版本,在 $CARGO_HOME/config.toml 中添加如下内容即可:

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

如果 cargo 版本低于 1.68,则必须设置为完整克隆仓库,[source.ustc] 里的 registry 需要修改为:

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"# 或者如果无法使用 git 协议
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index/"

完整克隆仓库速度远慢于新版的稀疏索引,因此强烈建议升级 cargo 版本。详见相关镜像。

如果正在使用的 cargo 版本低于 1.38,则需要修改的文件为 config 文件,而不是 config.toml 文件。

config文件

# 放到 `$HOME/.cargo/config` 文件中
[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 = "git://crates.rustcc.cn/crates.io-index"[net]
git-fetch-with-cli=true

Rustup

Rustup 是 Rust 官方的跨平台 Rust 安装工具。

镜像站只会保留一段时间的 nightly,如果在安装时出现错误,请用 RUSTUP_DIST_SERVER= rustup ... 来使用官方源。

使用 rustup 安装 rust 时,若要启用镜像源,执行:

# for bash
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install stable # for stable
# for fish
env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install stable # for stable
# for bash
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly # for nightly
# for fish
env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly # for nightly
# for bash
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly-YYYY-mm-dd
# for fish
env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup rustup install nightly-YYYY-mm-dd

若要长期启用镜像源,执行:

# for bash
echo 'export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup' >> ~/.bash_profile
echo 'export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup' >> ~/.bash_profile
# for fish
echo 'set -x RUSTUP_UPDATE_ROOT https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup' >> ~/.config/fish/config.fish
echo 'set -x RUSTUP_DIST_SERVER https://mirrors.tuna.tsinghua.edu.cn/rustup' >> ~/.config/fish/config.fish

注:rustup 在判断是否需要更新时依赖于 toml 的 sha256,由于 toml 内容中相关链接被替换为镜像源,第一次切换到镜像源时各个 channel 会被认为需要更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/53136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络爬虫到底难在哪里?

如果你是自己做爬虫脚本开发,那确实难,因为你需要掌握Python、HTML、JS、xpath、database等技术,而且还要处理反爬、动态网页、逆向等情况,不然压根不知道怎么去写代码,这些技术和经验储备起码得要个三五年。 比如这几…

基于milvus数据库的RAG-Demo

1.上传文本并将文本向量化 import os from django.conf import settings from langchain.document_loaders import TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter, CharacterTextSplitter from langchain.vectorstores import Chroma from l…

C++掉血迷宫

目录 开头程序程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> #include <string> #include <cstring> using namespace std; enum RBYG {R 1,B 2,Y 4,G 7, }; struct heal {int ix…

Linux服务器本地部署Joplin Server并实现手机电脑多端同步文档

文章目录 前言1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 前言 本文主要介绍如何在自己的服务器上利用docker搭建 Joplin Server&#xff0c;并对同步进行配置&#xff0c;再结合cpolar内网穿透工具实现公网远程…

TDBGridEh的应用

实现奇偶行变色功能: 通过设置EvenRowColor和OddRowColor属性,可以轻松改变DBGridEh1的偶数行和奇数行的颜色,例如将偶数行设置为黄色。 隔行变色,只需设置DBGridEh1.EvenRowColor :=clCream 这个是变黄色 EvenRowColor 偶数行颜色 OddRowColor 奇数行颜色 行自定义变…

学习Stable Diffusion使用 Roop插件轻松换脸(附插件)

在今天的分享中&#xff0c;将了解到如何获取并应用StableDiffusion的Roop插件&#xff0c;以达到完美的面部替换效果。 Roop是一款强大的工具&#xff0c;使您能够轻松地交换面孔并达到逼真的效果。 无论是艺术家、内容创作者&#xff0c;还是仅仅想要尝试图像处理的乐趣&am…

关于Vue2里 v-for和v-if一起用的时候会出现的问题

关于Vue2里 v-for和v-if一起用的时候会出现的问题 &#x1f389;&#x1f389;&#x1f389;欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!&…

FFmpeg源码:skip_bits、skip_bits1、show_bits函数分析

GetBitContext结构体和其相关的函数分析&#xff1a; FFmpeg中位操作相关的源码&#xff1a;GetBitContext结构体&#xff0c;init_get_bits函数、get_bits1函数和get_bits函数分析 FFmpeg源码&#xff1a;skip_bits、skip_bits1、show_bits函数分析 一、skip_bits函数 skip…

使用Java实现高效用户行为监控系统

引言 背景介绍:随着Web应用的日益复杂和用户体验成为产品成功的关键因素,用户行为监控(User Behavior Monitoring, UBM)变得越来越重要。UBM不仅帮助开发者理解用户如何与应用程序交互,还能用于性能优化、错误追踪、用户体验改进等方面。目标读者:本文面向Java开发者、系…

使用cmd命令窗口操作mongodb

一、效果显示 二、下载MongoDB 1. 在官网下载安装MongoDB 官网网址&#xff1a;Download MongoDB Community Server | MongoDB 我安装的版本是7.0.14(注意安装到空闲磁盘) 三、启动MongoDB服务 1. 配置环境变量 注意替换为你的路径。 2. 在MongoDB的data下创建db文件夹 在…

51单片机应用开发---二进制、十六进制与单片机寄存器之间的关系(跑马灯、流水灯实例)

实现目标 1、掌握二进制与十六进制之间的转换 2、掌握单片机寄存器与二进制、十六进制之间的转换 3、掌握单片机驱动跑马灯、流水灯的原理 一、二进制与十六进制之间的转换 1、二进制 二进制&#xff08;binary&#xff09;&#xff0c; 是在数学和数字电路中以2为基数的…

计算机毕业设计 乡村生活垃圾管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Java接口与继承:构建灵活系统的基石

在Java编程语言中&#xff0c;接口&#xff08;Interface&#xff09;是一种定义方法规范的类型&#xff0c;它是一种特殊的抽象类&#xff0c;可以被类实现&#xff08;Implement&#xff09;或被其他接口继承&#xff08;Extend&#xff09;。接口是Java实现多态和模块化设计…

无人机之控制距离篇

无人机的控制距离是一个复杂且多变的概念&#xff0c;它受到多种因素的共同影响。以下是对无人机控制距离及其影响因素的详细分析&#xff1a; 一、无人机控制距离的定义 无人机控制距离指的是遥控器和接收机之间的最远传输距离。这个距离决定了无人机在操作者控制下能够飞行的…

前端实战:使用JS和Canvas实现运算图形验证码(uniapp、微信小程序同样可用)

图形验证码是网站安全防护的重要组成部分&#xff0c;能有效防止自动化脚本进行恶意操作&#xff0c;如何实现一个简单的运算图形验证码&#xff1f;本文封装了一个简单的js类&#xff0c;可以用于生成简单但安全的图形验证码。它支持自定义验证码样式&#xff0c;包括字体大小…

HarmonyOS使用LocationButton获取地理位置

LocationButton LocationKit getAddressesFromLocation方法 步骤&#xff1a; 整合 LocationButton并获取经纬度通过 LocationKit 将经纬度转为地址信息将地址信息渲染到页面上处理异常情况&#xff08;闪退&#xff09; LocationButton({ icon: LocationIconStyle.LINE…

828华为云征文|Flexus云服务器X实例部署宝塔运维面板

本次华为云Flexus云服务器X实例部署宝塔运维面板教学&#xff0c;这次是推陈出新啊 之前的云耀云服务器L实例已经很不错了&#xff0c;大力赞叹华为云的 同时感谢华为云提供优惠卷&#xff0c;只能说白嫖真是太棒了 华为云近期正在筹办华为云828企业节活动&#xff0c;90款免…

JAVA与Python谁更适合后端?

Java和Python各有优势&#xff0c;选择哪种语言应根据项目的具体需求和团队的实际情况来决定。 小型团队或原型开发&#xff1a;如果项目规模小、需求变动频繁&#xff0c;或者需要快速开发产品原型&#xff0c;建议使用Python。大型项目或企业级应用&#xff1a;如果项目规模…

java 集合详解

简介要介绍 Java 集合&#xff0c;也叫作容器&#xff0c;主要是由两大接口派生而来&#xff1a;一个是 Collection接口&#xff0c;主要用于存放单一元素&#xff1b;另一个是 Map 接口&#xff0c;主要用于存放键值对。 Collection接口有三个子主要的子接口&#xff1a;Lis…

设计模式-依赖注入

在软件开发中&#xff0c;我们经常遇到这样的情况&#xff1a; 一个类依赖于另一个类或者服务来完成某些功能。然而&#xff0c;硬编码的依赖关系会导致代码耦合度过高&#xff0c;难以测试和维护。为了解决这个问题&#xff0c;我们引入了一种设计模式——依赖注入&#xff0…