CentOS7 安裝 rust 1.82.0

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…