安装Rust
Rust 是一种系统级编程语言,旨在提供高性能和内存安全,同时避免常见的编程错误。
由 Mozilla Research 推出,Rust 自推出以来因其独特的设计理念和强大的功能而在开发者社区中迅速获得了广泛的关注和采用。
curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.Rustup metadata and toolchains will be installed into the Rustup home
directory, located at:/home/jjmczd/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/home/jjmczd/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to Cargo’s
bin directory, located at:/home/jjmczd/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:/home/jjmczd/.profile /home/jjmczd/.bashrc
You can uninstall at any time with rustup self uninstall and these
changes will be reverted.Current installation options:
default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default modify PATH variable: yes
- Proceed with standard installation (default - just press enter) 2)
Customize installation 3) Cancel installation
命令解释
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
分解说明:
-
curl
:这是一个用于在命令行下传输数据的工具,支持多种协议(如 HTTP、HTTPS、FTP 等)。 -
--proto '=https'
:指定只允许使用 HTTPS 协议进行传输,确保数据传输的安全性。 -
--tlsv1.2
:强制curl
使用 TLS 1.2 协议,这是一种安全的传输层协议。 -
-s
:静默模式(silent),在执行过程中不会显示进度条或错误信息。 -
-Sf
:-S
:当使用-s
(静默模式)时,-S
可以让curl
在发生错误时仍然显示错误信息。-f
:如果服务器返回一个错误状态码(如 404),curl
会失败并返回一个错误,而不是输出错误页面的内容。
-
https://sh.rustup.rs
:这是 Rust 官方提供的安装脚本的 URL。 -
| sh
:管道符号(|
)将前一个命令(curl
)的输出传递给后一个命令(sh
)。也就是说,下载的安装脚本将直接由sh
(shell)执行。
整体作用:
这个命令通过安全的 HTTPS 连接下载 Rust 的安装脚本,并立即在您的终端中执行该脚本,以便安装 Rust 编程语言及其工具链。
输出解释
info: downloading installerWelcome to Rust!This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:/home/jjmczd/.rustupThis can be modified with the RUSTUP_HOME environment variable.The Cargo home directory is located at:/home/jjmczd/.cargoThis can be modified with the CARGO_HOME environment variable.The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:/home/jjmczd/.cargo/binThis path will then be added to your PATH environment variable by
modifying the profile files located at:/home/jjmczd/.profile/home/jjmczd/.bashrcYou can uninstall at any time with rustup self uninstall and
these changes will be reverted.Current installation options:default host triple: x86_64-unknown-linux-gnudefault toolchain: stable (default)profile: defaultmodify PATH variable: yes1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
逐行解释:
-
info: downloading installer
- 解释:安装程序正在下载过程中。
-
Welcome to Rust!
- 解释:欢迎使用 Rust!
-
接下来的几行
- 解释:这些行说明了安装过程将会下载和安装 Rust 官方编译器(
rustc
)以及其包管理器(Cargo)。
- 解释:这些行说明了安装过程将会下载和安装 Rust 官方编译器(
-
Rustup metadata and toolchains will be installed into the Rustup home directory, located at:
- 解释:Rustup 的元数据和工具链将被安装到指定的 Rustup 主目录中,默认路径为
/home/jjmczd/.rustup
。您可以通过设置RUSTUP_HOME
环境变量来修改此路径。
- 解释:Rustup 的元数据和工具链将被安装到指定的 Rustup 主目录中,默认路径为
-
The Cargo home directory is located at:
- 解释:Cargo 的主目录位于
/home/jjmczd/.cargo
。同样,您可以通过设置CARGO_HOME
环境变量来修改此路径。
- 解释:Cargo 的主目录位于
-
The cargo, rustc, rustup and other commands will be added to Cargo's bin directory, located at:
- 解释:
cargo
、rustc
、rustup
以及其他相关命令将被添加到 Cargo 的 bin 目录中,即/home/jjmczd/.cargo/bin
。
- 解释:
-
This path will then be added to your PATH environment variable by modifying the profile files located at:
- 解释:安装程序会将上述 bin 目录路径添加到您的
PATH
环境变量中,这通过修改您的 shell 配置文件(如/home/jjmczd/.profile
和/home/jjmczd/.bashrc
)来实现。这样,您可以在任何终端会话中直接运行 Rust 的命令。
- 解释:安装程序会将上述 bin 目录路径添加到您的
-
You can uninstall at any time with rustup self uninstall and these changes will be reverted.
- 解释:如果您在任何时候想要卸载 Rust,可以运行
rustup self uninstall
命令,这将撤销所有安装的更改。
- 解释:如果您在任何时候想要卸载 Rust,可以运行
-
Current installation options:
-
解释:当前的安装选项如下:
-
default host triple: x86_64-unknown-linux-gnu
- 解释:默认的主机三元组(host triple)是
x86_64-unknown-linux-gnu
,表示安装的是适用于 64 位 Linux 系统的 Rust 工具链。
- 解释:默认的主机三元组(host triple)是
-
default toolchain: stable (default)
- 解释:默认的工具链是
stable
版本,这是 Rust 的稳定版本,适合大多数用户和生产环境使用。
- 解释:默认的工具链是
-
profile: default
- 解释:使用的是默认的安装配置文件,包含基本的组件和设置。
-
modify PATH variable: yes
- 解释:安装程序将修改您的
PATH
环境变量,以便您可以在终端中直接使用 Rust 的命令。
- 解释:安装程序将修改您的
-
-
安装选项菜单:
1) Proceed with standard installation (default - just press enter) 2) Customize installation 3) Cancel installation
-
1) Proceed with standard installation (default - just press enter)
- 解释:继续标准安装(默认选项)。如果您按回车键,将使用上述默认设置进行安装。
-
2) Customize installation
- 解释:自定义安装。选择此选项可以让您自定义安装路径、选择不同的工具链版本或调整其他安装选项。
-
3) Cancel installation
- 解释:取消安装。选择此选项将终止 Rust 的安装过程。
-
接下来的步骤
-
选择安装选项:
- 标准安装:如果您不需要自定义安装,直接按回车键继续。这将使用默认设置进行安装。
- 自定义安装:如果您需要更改安装路径或选择特定的工具链版本,可以输入
2
并按照提示进行操作。 - 取消安装:如果您暂时不想安装 Rust,可以输入
3
取消。
-
完成安装:
-
安装完成后,确保重新启动终端或重新加载 shell 配置文件,以便新的
PATH
设置生效。 -
您可以通过运行以下命令来验证 Rust 是否安装成功:
rustc --version cargo --version
这两个命令应分别返回 Rust 编译器和 Cargo 的版本信息。
-
-
更新 Rust(可选):
-
如果您已经安装过 Rust,可以通过以下命令更新到最新版本:
rustup update
-
常见问题
-
PATH 环境变量未更新:
如果安装后运行rustc --version
提示找不到命令,可能是因为PATH
环境变量未正确更新。您可以手动添加 Cargo 的 bin 目录到PATH
中,例如:export PATH="$HOME/.cargo/bin:$PATH"
将上述行添加到您的
~/.bashrc
或~/.profile
文件中,然后重新加载配置:source ~/.bashrc
-
卸载 Rust:
如果需要卸载 Rust,可以运行以下命令:rustup self uninstall
这将删除 Rustup 及其管理的所有工具链,并恢复
PATH
环境变量的更改。
info: profile set to ‘default’ info: default host triple is x86_64-unknown-linux-gnu info: syncing channel updates for
‘stable-x86_64-unknown-linux-gnu’
804.2 KiB / 804.2 KiB (100 %) 86.3 KiB/s in 10s ETA: 0s info: latest update on 2024-09-05, rust version 1.81.0 (eeb90cda1 2024-09-04) info:
downloading component ‘cargo’
8.3 MiB / 8.3 MiB (100 %) 243.2 KiB/s in 43s ETA: 0s info: downloading component ‘clippy’
2.6 MiB / 2.6 MiB (100 %) 488.2 KiB/s in 8s ETA: 0s info: downloading component ‘rust-docs’
15.9 MiB / 15.9 MiB (100 %) 962.2 KiB/s in 1m 13s ETA: 0s info: downloading component ‘rust-std’
26.8 MiB / 26.8 MiB (100 %) 298.8 KiB/s in 1m 37s ETA: 0s info: downloading component ‘rustc’
66.9 MiB / 66.9 MiB (100 %) 198.4 KiB/s in 9m 28s ETA: 0s info: downloading component ‘rustfmt’
2.4 MiB / 2.4 MiB (100 %) 438.4 KiB/s in 8s ETA: 0s info: installing component ‘cargo’ info: installing component ‘clippy’ info:
installing component ‘rust-docs’
15.9 MiB / 15.9 MiB (100 %) 5.8 MiB/s in 2s ETA: 0s info: installing component ‘rust-std’
26.8 MiB / 26.8 MiB (100 %) 14.7 MiB/s in 2s ETA: 0s info: installing component ‘rustc’
66.9 MiB / 66.9 MiB (100 %) 15.7 MiB/s in 4s ETA: 0s info: installing component ‘rustfmt’ info: default toolchain set to
‘stable-x86_64-unknown-linux-gnu’stable-x86_64-unknown-linux-gnu installed - rustc 1.81.0 (eeb90cda1
2024-09-04)Rust is installed now. Great!
To get started you may need to restart your current shell. This would
reload your PATH environment variable to include Cargo’s bin directory
($HOME/.cargo/bin).To configure your current shell, you need to source the corresponding
env file under $HOME/.cargo.This is usually done by running one of the following (note the leading
DOT): . “KaTeX parse error: Expected 'EOF', got '#' at position 29: …nv" #̲ For sh/bash/zs…HOME/.cargo/env.fish” # For fish
这个输出是关于在终端中安装 Rust 的详细日志。每一行解释如下:
-
info: profile set to ‘default’
Rust 安装时选择了默认的配置(profile),这意味着 Rust 会根据默认的设置安装其组件。这通常包括常用的工具,比如编译器和包管理器。 -
info: default host triple is x86_64-unknown-linux-gnu
这是 Rust 编译器的目标平台,也叫“三元组”(triple),这里指的是 64 位的 Linux 系统。x86_64-unknown-linux-gnu
表示编译器将生成适用于 64 位 Linux 系统的代码。 -
info: syncing channel updates for ‘stable-x86_64-unknown-linux-gnu’
Rust 的安装器正在同步最新的稳定版(stable channel)更新。这意味着它正在获取当前最新版本的稳定版 Rust 相关组件。 -
下载组件(cargo, clippy, rust-docs, rust-std, rustc, rustfmt)
- cargo 是 Rust 的包管理工具,用于管理依赖和构建项目。
- clippy 是一个 Rust 代码的静态分析工具,帮助开发者遵循最佳实践。
- rust-docs 是 Rust 的文档,可以离线访问 Rust 标准库的文档。
- rust-std 是标准库,Rust 编译时所需要的核心库。
- rustc 是 Rust 编译器,负责将 Rust 源代码编译为可执行文件。
- rustfmt 是代码格式化工具,用于确保 Rust 代码风格的一致性。
-
info: installing component ‘cargo’
系统开始安装上述下载的组件,如cargo
、clippy
、rust-docs
等。 -
info: default toolchain set to ‘stable-x86_64-unknown-linux-gnu’
系统设置了默认的 Rust 工具链为稳定版,即用户将使用稳定版的 Rust 编译器和工具。 -
Rust is installed now. Great!
Rust 安装成功,已经准备好使用。 -
To get started you may need to restart your current shell.
建议用户重启当前的终端会话,或重新加载终端,以确保$HOME/.cargo/bin
路径被正确添加到PATH
环境变量中。 -
To configure your current shell, you need to source…
这一行提示如何在当前 shell 中手动加载 Rust 环境,可以运行以下命令:. "$HOME/.cargo/env" # 对于 bash、zsh 等 shell
或者:
source "$HOME/.cargo/env.fish" # 对于 fish shell
通过这些步骤,Rust 及其工具链已经成功安装,可以开始使用 Rust 开发了。
相关文章:
安装Rust
Rust 是一种系统级编程语言,旨在提供高性能和内存安全,同时避免常见的编程错误。 由 Mozilla Research 推出,Rust 自推出以来因其独特的设计理念和强大的功能而在开发者社区中迅速获得了广泛的关注和采用。 curl --proto ‘https’ --tlsv1.2…...

vite学习教程05、vite+vue2构建本地 SVG 图标
文章目录 前言一、构建本地SVG图标详细步骤1、安装开发依赖2、配置vite2.1、配置vite.config.js2.2、封装vite引入插件脚本 解决报错:can not find package fast-glob imported 二、实际应用应用1:未封装,直接vue应用应用2:封装vu…...
机器学习——自监督学习与无监督学习
# 机器学习中的自监督学习与无监督学习 在机器学习的世界中,监督学习、无监督学习和自监督学习都是重要的学习方法。本文将聚焦于自监督学习与无监督学习,探讨它们的原理、应用场景以及技术细节,并通过大量代码示例来揭示这些方法的内在工作…...

2003经典绝版100%仿盛大服务端火炬引擎原版
;中国游戏制作 本版本为中国游戏制作小组推出的第一个版本,有什么不完美的地方还请大家多多指教!!! 与盛大逼真!!! 本版本M2Server采用“梦幻风”以及“冰眼”M2Server修改器修改的 2004/1/…...

银河麒麟服务器:更新软件源
银河麒麟服务器:更新软件源 1、使用场景2、操作步骤3、注意事项 💐The Begin💐点点关注,收藏不迷路💐 1、使用场景 当需要安装最新软件或修改软件源配置后,需更新软件源以获取最新软件包信息。 2、操作步…...

字节跳动收购Oladance耳机:强化音频技术,加速VR/AR生态布局
字节跳动收购Oladance耳机:加码VR/AR领域布局 近日,字节跳动宣布已完成对开放式耳机品牌Oladance的收购,实现了对该品牌的100%控股。这一收购标志着字节跳动在AI硬件领域的进一步扩展和深化,特别是对其VR/AR领域布局的重要加码。 …...

Android SystemUI组件(11)SystemUIVisibility解读
该系列文章总纲链接:专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明: 说明:本章节持续迭代之前章节思维导图,主要关注左侧最上方SystemUiVisibility解读部分即可。 本章节主要讲解SystemUiVisibility的概念及其相…...
JSON 全知全解:深入探索 JSON 的奥秘
目录 一、JSON 基础认知(一)JSON 的定义与历史(二)JSON 的语法规则(三)JSON 与 JS 对象的关系 二、JSON 在不同语言中的用法(一)JavaScript 中的 JSON 操作(二࿰…...

CSS | 响应式布局之媒体查询(media-query)详解
media type(媒体类型)是CSS 2中的一个非常有用的属性,通过media type我们可以对不同的设备指定特定的样式,从而实现更丰富的界面。media query(媒体查询)是对media type的一种增强,是CSS 3的重要内容之一。随着移动互联网的发展,m…...
并查集的模拟实现
简化版本 class UnionFindSet { public:UnionFindSet(size_t n):_ufs(n, -1){}void Union(int x1, int x2){int root1 FindRoot(x1);int root2 FindRoot(x2);// 如果本身就在一个集合就没必要合并了if (root1 root2)return;// 控制数据量小的往大的集合合并if (abs(_ufs[roo…...

如何高效删除 MySQL 日志表中的历史数据?实战指南
在处理高并发的物联网平台或者其他日志密集型应用时,数据库中的日志表往往会迅速增长,数据量庞大到数百GB甚至更高,严重影响数据库性能。如何有效管理这些庞大的日志数据,特别是在不影响在线业务的情况下,成为了一项技…...

请散户股民看过来,密切关注两件大事
明天股市要开市,不仅散户股民期盼节后股市大涨,上面也同样想在节后来上一个“开门红”。 为此,上面没休假,关起门来办了两件大事,这两天发布消息已提前预热了。 两件大事如下: 一是,上交所10…...

设计模式之外观模式(Facade)
一、外观模式介绍 外观模式( Facade Pattern),也叫门面模式,是一个 “结构型” 设计模式。 外观模式的原始定义是:为子系统中的一组接口提供统一的接口。它定义了一个更高级别 的接口,使子系统更易于使用。 外观模式,是…...

解锁 Python 嵌套字典的奥秘:高效操作与实战应用指南
文章目录 前言🍀一、 什么是 Python 字典?1.1 字典的语法 🍀二、 字典的基本操作2.1 字典的创建2.2 访问字典中的值2.3 添加或修改键值对2.4 删除字典中的键值对 🍀三、 字典的遍历操作3.1 遍历字典的键3.2 遍历字典的值3.3 同时遍…...

联想服务器配置阵列、安装操作系统
文章目录 [toc]1.配置阵列2.制作启动盘3.安装系统 1.配置阵列 1.根据提示进入BIOS设置(F1) 2.系统设置 3.存储 4.第四步可以看到raid卡信息 5.Main Menu 6.Configuration Management 7.Create Virtual Drive 8.Select RAID Level raid5 9.Select Drives…...

【深度强化学习】DDPG实现的4个细节(OUNoise等)
文章目录 前言一、论文内容简述创新点(特点,与DQN的区别):可借鉴参数:细节补充: 二、细节1:weight_decay原理代码 三、细节2:OUNoise原理代码 四、细节3:ObsNorm原理代码…...

算法工程师重生之第二十二天(递增子序列 全排列 全排列 II 重新安排行程 N皇后 解数独 总结 )
参考文献 代码随想录 一、非递减子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作…...
css的选择器及优先级
一、css选择器 CSS选择器是用来选择HTML文档中的元素,并为它们应用样式规则的工具。CSS选择器有很多种,可以根据元素的类名、ID、属性、伪类、伪元素、标签等来选择元素。以下是一些常见的CSS选择器及其用法: 1. ID选择器: 根据…...
JavaScript中的数组不改变原数组的方法
数组 var a [1, 2, 3, 5, 8, 13, 21] 不改变原数组的方法 length 数组元素的长度 继承自原型 concat(arrayX,arrayY) 合并两个或多个数组,返回新数组 合并,a.concat(b) var a[1,2,3],b[4,5,6],c[7,8,9]; a.concat(b,c); //[1, 2, 3, 4, 5, 6, 7…...
Go语言实现长连接并发框架 - 路由分组
文章目录 前言接口结构体接口实现项目地址最后 前言 你好,我是醉墨居士,我们上篇博客实现了任务执行流的路由模块,接下来我们实现一下对任务执行流进行任务 接口 trait/router_group.go type RouterGroup interface {RouterGroup(flow ..…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...