CentOS7 安装 rust 1.82.0

我在CentOS7.9中安装rust遇到报错版本低,再升级版本的过程中遇到诸多问题,简单记录。

遇到的问题

提示版本低

centos7 安装 ERROR: Rust 1.75.0 or newer required.Rust version 1.72.1 was found.

原因是 CentOS7 的默认的软件源中的rust是1.72.1版本。下载不到1.75版本。

解决方案1–不管用

在网上找了很多个版本的rust的rpm包,但是由于CentOS7停止维护了,所以rpm包都是CentOS8和CentOS9之后的。下载了之后安装的时候会报错依赖缺失。

下载地址:
https://pkgs.org/download/rust
https://rpmfind.net/linux/rpm2html/search.php?query=rust

root@22_150:~# rpm -ivh rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64.rpm 
warning: rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID ced7258b: NOKEY
error: Failed dependencies:libLLVM-17.so()(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libLLVM-17.so(LLVM_17)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libc.so.6(GLIBC_2.18)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libc.so.6(GLIBC_2.25)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libc.so.6(GLIBC_2.27)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libc.so.6(GLIBC_2.28)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libstdc++.so.6(CXXABI_1.3.9)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64libstdc++.so.6(GLIBCXX_3.4.21)(64bit) is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64rust-std-static(x86-64) = 1.75.0-1.module_el8.10.0+3770+3cd00e1b is needed by rust-1.75.0-1.module_el8.10.0+3770+3cd00e1b.x86_64

基于这种情况,升级libc和其他的组件会导致系统崩溃,所以不能采用这种方式。

解决方案2–管用

只能采用最原始的源码编译的方式了。这一步虽然复杂,但是可以解决。

首先去github下载一个最新的源码包。我现在这个时间能看到的最新版是1.88,但是我下载1.82的版本。

下载地址:
https://forge.rust-lang.org/infra/other-installation-methods.html
https://github.com/rust-lang/rust/archive/refs/tags/1.82.0.tar.gz

解压之后会看到目录中包含一个 configure,运行

root@22_150:~/rust-1.82.0# ls
build       CODE_OF_CONDUCT.md   config.toml      COPYRIGHT   LICENSE-APACHE  Makefile     REUSE.toml      src             x
Cargo.lock  compiler             configure        INSTALL.md  LICENSE-MIT     README.md    rust-bors.toml  tests           x.ps1
Cargo.toml  config.example.toml  CONTRIBUTING.md  library     LICENSES        RELEASES.md  rustfmt.toml    triagebot.toml  x.py
root@22_150:~/rust-1.82.0# 
root@22_150:~/rust-1.82.0# 
root@22_150:~/rust-1.82.0# 
root@22_150:~/rust-1.82.0# 
root@22_150:~/rust-1.82.0# ./configure 
configure: processing command line
configure: 
configure: build.configure-args := []
configure: profile              := dist
configure: 
configure: writing `config.toml` in current directory
configure: 
configure: run `python /root/rust-1.82.0/x.py --help`

下面提示执行 python /root/rust-1.82.0/x.py --help

执行这个命令超级慢,挂了梯子就快了。

执行的过程,大概就是下载三个文件,文件位置:/root/rust-1.82.0/build/cache/2024-09-05/
我们可以手动操作者三个文件,手动安装。

https://static.rust-lang.org/dist/2024-09-05/rust-std-1.81.0-x86_64-unknown-linux-gnu.tar.xz
https://static.rust-lang.org/dist/2024-09-05/rust-std-1.81.0-x86_64-unknown-linux-gnu.tar.xz
https://static.rust-lang.org/dist/2024-09-05/rustc-1.81.0-x86_64-unknown-linux-gnu.tar.xz

每一个文件都解压,然后执行里面的 install.sh,即可。

root@22_150:~/rust-1.82.0/build/cache# cd rustc-1.81.0-x86_64-unknown-linux-gnu
root@22_150:~/rust-1.82.0/build/cache/rustc-1.81.0-x86_64-unknown-linux-gnu# ls
components  COPYRIGHT  git-commit-hash  git-commit-info  install.sh  LICENSE-APACHE  LICENSE-MIT  README.md  rustc  rust-installer-version  version
root@22_150:~/rust-1.82.0/build/cache/rustc-1.81.0-x86_64-unknown-linux-gnu# ./install.sh 
install: uninstalling component 'rustc'
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rustc'rustc installed.root@22_150:~/rust-1.82.0/build/cache/rustc-1.81.0-x86_64-unknown-linux-gnu# 

提示安装完。三个文件一样的操作即可。

系统重启之后就正常了。不重启也行,新开一个shell正常加载环境变量就可以了。

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

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

相关文章

Compose 适配 - 键鼠模式

一、概念不止触摸交互,在 ChromeOS 或外接键鼠的设备上,需要考虑焦点、悬停、右键等操作逻辑。二、使用2.1 焦点使用 Tab 键来导航,改变边框以提供清晰的焦点指示器。Composable fun Demo() {val interactionSource remember { MutableInter…

征服 Linux 网络:核心服务与实战解析

在当今的IT基础设施中,Linux作为服务器操作系统的基石,其强大的网络功能是其不可或缺的优势。对于任何志在成为高级系统管理员或运维工程师的人来说,精通Linux网络配置与服务管理是核心竞争力。 与日常应用不同,Linux网络管理往往…

Spark 之 DataFrame

# foreach useFeatureDF.rdd.foreachPartition {iter => iter.foreach {row =>val userId = row.getAs[Int]

射频信号(大宽高比)时频图目标检测anchors配置(下)

书接上文: 射频信号(大宽高比)时频图目标检测anchors配置(上) 三、4090加成检测效果深度优化 在4090 24G专用显存加持下继续探究大宽高比目标检测的奥秘: Conda环境迁移至租的云服 在云服上第一次测试…

跨境支付入门~国际支付结算(区块链篇)

摘要Web3区块链技术架构解析:从底层共识到应用生态本文系统梳理了Web3作为稳定币基础设施的技术架构,采用"数字共和国"的比喻框架,将区块链技术分解为六大核心模块:宪法根基(区块链层)&#xff1…

Docker 私服

什么是 Docker 私服? Docker 官方的 Docker Hub 是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像 到本地,也可以把我们自己的镜像推送上去。 但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像…

DeepSeek vs ChatGPT:谁更胜一筹?

新兴 AI 聊天机器人的崛起与挑战:对话模型发展观察近年来,生成式人工智能领域持续取得突破,聊天机器人作为其中的代表,广泛应用于写作、编程、问答和信息处理等任务。2025 年初,国内某 AI 团队宣布了多项模型技术进展&…

飞算科技:以原创技术为翼,赋能产业数字化转型

在数字经济浪潮席卷全球的当下,一批专注于技术创新的中国企业正加速崛起,飞算数智科技(深圳)有限公司(简称 “飞算科技”)便是其中的佼佼者。作为一家国家级高新技术企业,飞算科技以自主创新为核…

电商接口什么意思?

“电商接口”这四个字,在中文互联网上出现的频次越来越高:商家后台、小程序、ERP、数据大屏……几乎任何与线上零售沾边的场景都会提到它。然而,对大多数刚进入电商行业的新人,甚至一些已经开了很多年网店的老板来说,这…

前端面试专栏-前沿技术:30.跨端开发技术(React Native、Flutter)

🔥 欢迎来到前端面试通关指南专栏!从js精讲到框架到实战,渐进系统化学习,坚持解锁新技能,祝你轻松拿下心仪offer。 前端面试通关指南专栏主页 前端面试专栏规划详情 跨端开发技术(React Native、Flutter&am…

复盘—MySQL触发器实现监听数据表值的变化,对其他数据表做更新

文章目录 MySQL交换数据库表中两列的值(额外的知识) 为防止后面有疑问,提前解释为什么需要 `$$` ? 第一版需求 第二版需求 第三版需求 注意事项: 存在的严重问题 最终版 关键修复说明: 完整测试场景: 额外建议(如果需要显式处理NULL): COALESCE函数 业务中出现的问题…

SpringCloud【Sentinel】

1,工作原理 2,常见规则 流量控制(FlowRule) 1,阈值类型设置如下 单机均摊:每个机器均摊,比如阈值填5,三个机器,就个机器都可以有5个 总体阈值:所有机器总阈…

解构未来金融:深入剖析DeFi与去中心化交易所(DEX)的技术架构

今天,我们来聊一个颠覆传统金融界的热门话题——DeFi(去中心化金融)。大家可能听说过它如何承诺将银行、交易所、保险等金融服务构建在一个开放、无需许可的区块链网络上。而这一切魔法的核心,正是其独特的“技术架构”。 在这篇文…

中国西北典型绿洲区土壤水分特征(2018-2019年)

数据集摘要该数据包含张掖绿洲黑河沿岸湿地、过渡带杨树林土壤水分、温度数据。数据采集时间为2018年至2019年,采集地点为张掖绿洲,数据为日数据。该数据集是按照课题制定的试验方案和中国生态系统研究网络编著的陆地生态系统水土气生观测规范进行数据的…

MySQL高可用部署

目录 一、MHA(一主多从模式) 1.环境准备(所有节点) 2. 部署 MySQL 主从复制(MasterSlave) 3.部署 MHA Manager(管理节点) (1)安装 MHA Manager &#xf…

从 XSS 到 Bot 攻击:常见网络攻击防不胜防?雷池 WAF 用全场景防护为网站筑牢安全墙

1. 网络攻击类型当前常见的网络攻击类型包括:重放攻击(HTTP Request Replay Attack):攻击者截获合法用户的 HTTP 请求并重新发送,以欺骗服务器执行相同操作。危害包括消耗服务器资源、大量抓取数据或绕过认证操作敏感接…

【王树森推荐系统】推荐系统涨指标的方法05:特殊用户人群

为什么要特殊对待特殊人群? 新用户,低活用户的行为很少,个性化推荐不准确。个性化的召回和排序都需要基于用户的历史行为,如果历史行为少,个性化就做不好,尤其是新用户,这就需要策略把个性化做的…

Java 大视界 -- Java 大数据在智能家居能源管理与节能优化中的深度应用(361)

Java 大视界 -- Java 大数据在智能家居能源管理与节能优化中的深度应用(361)引言:正文:一、Java 构建的智能家居能源数据架构1.1 多源能耗数据实时采集1.2 家庭能源画像与异常检测二、Java 驱动的节能策略与智能控制2.1 多场景节能…

从零开始的云计算生活——番外5,使用ELK实现对应用日志的监控

目录 一.环境准备 试验机安装 修改文件配置 二.收集测试机(test)日志 配置pipline文件 配置filebeat配置文件 三.收集测试机nginx日志 下载安装nginx 修改filebeat文件 修改pipline文件 四.收集网络服务模块日志 1.DHCP 下载dhcp 修改配置…

Node.js:函数、路由、全局对象

Node.js函数 在JavaScript中,一个函数可以作为另一个函数的参数,可以先定义一个函数,然后进行传递,也可以在传参的地方直接定义 function sayhello(){console.log("hello"); } function run(hello, value){hello();cons…