安装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 ..…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
