MacOS 15.3.1 安裝 GPG 提示Error: unknown or unsupported macOS version: :dunno

目錄

1. 問題鎖定

2. 更新 Homebrew

3. 切換到新的 Homebrew 源

4. 安裝 GPG

5. 檢查 macOS 版本兼容性

6. 使用 MacPorts 或其他包管理器

7. 創建密鑰(生成 GPG 簽名)

往期推薦


1. 問題鎖定

????????通常是因為你的 Homebrew 版本較舊,或者你的 macOS 版本沒有被 Homebrew 正確識別。以下是一些解決此問題的步驟:

2. 更新 Homebrew

????????首先,確保你的 Homebrew 是最新版本。打開終端并運行以下命令來更新 Homebrew ,剛執行命令會讓輸入一次密碼,中間還會再次輸入一次密碼,其他時間等待即可:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

????????或者,如果你已經安裝了 Homebrew,可以使用以下命令更新:

brew update
brew upgrade

3. 切換到新的 Homebrew 源

????????由于某些原因,Homebrew 可能沒有正確識別你的 macOS 版本。你可以嘗試切換到一個新的 Homebrew 源,這可能會解決版本識別問題。運行以下命令:

cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
brew update

4. 安裝 GPG

????????更新完 Homebrew 后,嘗試重新安裝 GPG:

brew install gnupg

5. 檢查 macOS 版本兼容性

????????如果上述步驟仍然無法解決問題,可能是因為你的 macOS 版本太新,而 Homebrew 的某些分支還沒有完全支持。你可以嘗試手動下載 GPG 的二進制文件或從源代碼編譯。例如,你可以從 GPG 的官方網站下載適用于 macOS 的預編譯二進制文件,或者從源代碼編譯:

brew install gpg --build-from-source

6. 使用 MacPorts 或其他包管理器

????????如果 Homebrew 仍然有問題,你可以考慮使用 MacPorts 或其他包管理器,如 MacPorts 或 Fink,這些包管理器也可能提供 GPG 的安裝選項:

# 安裝 MacPorts(如果尚未安裝)
curl https://distfiles.macports.org/MacPorts/MacPorts-2.6.4-10.15-Mojave.pkg > ~/Downloads/MacPorts-2.6.4-10.15-Mojave.pkg
open ~/Downloads/MacPorts-2.6.4-10.15-Mojave.pkg
sudo installer -pkg ~/Downloads/MacPorts-2.6.4-10.15-Mojave.pkg -target /
# 使用 MacPorts 安裝 GPG
sudo port install gpg

7. 創建密鑰(生成 GPG 簽名)

????????在命令行中使用如下命令作為開始:

gpg --gen-key

????????在執行過程會讓你做出一些選擇:

  • ? ? ? ? 秘鑰類型:我這邊使用的是RSA and RSA
  • ? ? ? ? 秘鑰長度:輸入4096
  • ????????過期時間:直接回車代表不過期,然后再次Y確認一下。
  • ? ? ? ? 構建用戶標識:提示讓輸入User ID和一個郵箱,這里可以使用注冊SonaType時候用的用戶名和郵箱,當然也可以用其他的。
  • ????????接著最后一步輸入O,注意這里是大寫的O不是零,然后回車接著就會提示讓輸入密碼。輸入一次后還會有一次確認輸入,這個密碼一定要記住后期會用到(使用tab切換下一行,盡量快一些否則會超時,一切重新來)。
MacBook-Pro:~ scc$ gpg --full-gen-key
gpg (GnuPG) 2.4.7; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.請選擇您要使用的密鑰類型:(1) RSA 和 RSA (2) DSA 和 Elgamal (3) DSA(僅用于簽名)(4) RSA(僅用于簽名)(9) ECC(簽名和加密) *默認*(10) ECC(僅用于簽名)(14)卡中現有密鑰 
您的選擇是? 1
RSA 密鑰的長度應在 1024 位與 4096 位之間。
您想要使用的密鑰長度?(3072) 4096
請求的密鑰長度是 4096 位
請設定這個密鑰的有效期限。0 = 密鑰永不過期<n>  = 密鑰在 n 天后過期<n>w = 密鑰在 n 周后過期<n>m = 密鑰在 n 月后過期<n>y = 密鑰在 n 年后過期
密鑰的有效期限是?(0) 0
密鑰永遠不會過期
這些內容正確嗎? (y/N) YGnuPG 需要構建用戶標識以辨認您的密鑰。真實姓名: shuaici
電子郵件地址: g599957939@163.com
注釋: wangyi
您選定了此用戶標識:“shuaici (wangyi) <g599957939@163.com>”更改姓名(N)、注釋(C)、電子郵件地址(E)或確定(O)/退出(Q)? O
我們需要生成大量的隨機字節。在質數生成期間做些其他操作(敲打鍵盤
、移動鼠標、讀寫硬盤之類的)將會是一個不錯的主意;這會讓隨機數
發生器有更好的機會獲得足夠的熵。
我們需要生成大量的隨機字節。在質數生成期間做些其他操作(敲打鍵盤
、移動鼠標、讀寫硬盤之類的)將會是一個不錯的主意;這會讓隨機數
發生器有更好的機會獲得足夠的熵。
gpg: 目錄‘/Users/scc/.gnupg/openpgp-revocs.d’已創建
gpg: 吊銷證書已被存儲為‘/Users/scc/.gnupg/openpgp-revocs.d/A129A4FF2xxxxxxx657.rev’
公鑰和私鑰已經生成并被簽名。pub   rsa4096 2025-03-13 [SC]A129A4FF2CA6xxxxxxx71657
uid                      shuaici (wangyi) <g599957939@163.com>
sub   rsa4096 2025-03-13 [E]MacBook-Pro:~ scc$ 

?????????然后導出公鑰:

gpg --keyserver keyserver.ubuntu.com --send-keys YOUR_KEY_ID

往期推薦

Android IdleHandler 原理解析與應用場景-CSDN博客文章瀏覽閱讀1.3k次,點贊64次,收藏48次。IdleHandler 是 Android MessageQueue 機制中的一個接口,允許在主線程空閑時執行任務。本文詳細解析 IdleHandler 的工作原理,包括 MessageQueue 結構、觸發時機及其使用方法。同時,我們探討了 IdleHandler 的應用場景,如延遲初始化、資源回收和數據預加載等,并分析了其優缺點。合理使用 IdleHandler 可以優化應用性能,提高用戶體驗。本文將幫助開發者深入理解 IdleHandler 并在實際開發中靈活運用。 https://shuaici.blog.csdn.net/article/details/146064835Android Media3 ExoPlayer 開發全攻略:從基礎集成到高級功能實戰-CSDN博客文章瀏覽閱讀806次,點贊25次,收藏16次。本文系統講解如何利用 Android Media3 ExoPlayer 構建高性能流媒體播放器。作為 Google 新一代媒體框架的核心組件,ExoPlayer 憑借對 HLS/DASH 等協議的原生支持、自適應碼率優化及模塊化架構,成為復雜媒體場景的首選方案。文章從依賴配置入手,詳細演示播放器初始化、視圖綁定與基礎播放控制邏輯,并提供 Kotlin 代碼實例。 https://shuaici.blog.csdn.net/article/details/146093650

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72226.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++:類和對象(從底層編譯開始)詳解[前篇]

目錄 一.inline內聯的詳細介紹 &#xff08;1&#xff09;為什么在調用內聯函數時不需要建立棧幀&#xff1a; &#xff08;2&#xff09;為什么inline聲明和定義分離到兩個文件會產生鏈接錯誤&#xff0c;鏈接是什么&#xff0c;為什么沒有函數地址&#xff1a; 二.類&…

C++中,存儲持續性、作用域和鏈接性

在C++中,存儲持續性、作用域和鏈接性是變量和函數的重要屬性,它們共同決定了變量的生命周期、可見性以及跨文件訪問能力。以下是詳細的總結: 1. 存儲持續性(Storage Duration) 存儲持續性指變量在內存中的生命周期,分為四類: 自動存儲持續性(Automatic) 局部變量(函…

四種 No-SQL

在一個常規的互聯網服務中&#xff0c;讀取與寫入的比例大約是 100:1 到 1000:1。然而&#xff0c;從硬盤讀取時&#xff0c;數據庫連接操作耗時&#xff0c;99% 的時間花費在磁盤尋址上。 為了優化讀取性能&#xff0c;非規范化的設計通過添加冗余數據或分組數據來引入。下述…

【 Manus平替開源項目】

文章目錄 Manus平替開源項目1 OpenManus1.1 簡介1.2 安裝教程1.3 運行 2 OWL2.1 簡介2.2 安裝教程2.3 運行 3 OpenHands&#xff08;原OpenDevin&#xff09;3.1 簡介3.2 安裝教程和運行 Manus平替開源項目 1 OpenManus 1.1 簡介 開發團隊: MetaGPT 核心貢獻者&#xff08;5…

【Linux 服務之ollama 部署過慢問題】

特別慢的 curl -fsSL https://ollama.com/install.sh | sh參考 方法1 export OLLAMA_MIRROR"https://ghproxy.cn/https://github.com/ollama/ollama/releases/latest/download" curl -fsSL https://ollama.com/install.sh | sed "s|https://ollama.com/downl…

療養院管理系統設計與實現(代碼+數據庫+LW)

摘 要 傳統辦法管理信息首先需要花費的時間比較多&#xff0c;其次數據出錯率比較高&#xff0c;而且對錯誤的數據進行更改也比較困難&#xff0c;最后&#xff0c;檢索數據費事費力。因此&#xff0c;在計算機上安裝療養院管理系統軟件來發揮其高效地信息處理的作用&#xf…

Web后端開發之Maven

Maven Mven是apache旗下的一個開源項目&#xff0c;用來管理和構建java項目的工具。 通過一小段描述信息來管理項目。 Maven的作用 1.依賴管理&#xff1a;方便快捷的管理項目依賴的資源&#xff08;jar包&#xff09;&#xff0c;避免版本沖突問題 以前用某個jar包需要下載…

在線招聘小程序:AI簡歷篩選與精準職位推薦服務

當AI算法遇上小程序開發:重新定義「人崗匹配」的智能招聘革命 一、傳統招聘困境:求職者與企業為何總在「錯過」? 在數字化浪潮下,企業HR日均需處理數百份簡歷,卻仍有60%的崗位因匹配效率低下而空置;求職者海投簡歷后,近八成用戶表示從未收到精準反饋。這種雙向資源錯配…

Linux文件IO——緩沖區磁盤上的文件管理

前言 什么是緩沖區&#xff1f; 緩沖區是內存空間上的一小段內存&#xff0c;我們平常在寫程序的時候&#xff0c;其實是很難感知到緩沖區的存在的&#xff0c;接下來看一段代碼&#xff0c;可以很好地體現緩沖區的存在。 #include<stdio.h> #include<unistd.h> in…

Java中如何去自定義一個類加載器

之前寫過一篇&#xff0c;關于 類加載器和雙親委派的文章&#xff0c;里邊提到過可以根據自己的需要&#xff0c;去寫一個自定義的類加載器&#xff0c;正好有人問這個問題&#xff0c;今天有時間就來手寫一個自定義的類加載器&#xff0c;并使用這個自定義的類加載器來加載一個…

X86 RouterOS 7.18 設置筆記六:端口映射(IPv4、IPv6)及回流問題

X86 j4125 4網口小主機折騰筆記五&#xff1a;PVE安裝ROS RouterOS X86 RouterOS 7.18 設置筆記一&#xff1a;基礎設置 X86 RouterOS 7.18 設置筆記二&#xff1a;網絡基礎設置(IPV4) X86 RouterOS 7.18 設置筆記三&#xff1a;防火墻設置(IPV4) X86 RouterOS 7.18 設置筆記四…

代碼隨想錄|二叉樹|21合并二叉樹

leetcode:617. 合并二叉樹 - 力扣&#xff08;LeetCode&#xff09; 題目 給定兩個二叉樹&#xff0c;想象當你將它們中的一個覆蓋到另一個上時&#xff0c;兩個二叉樹的一些節點便會重疊。 你需要將他們合并為一個新的二叉樹。合并的規則是如果兩個節點重疊&#xff0c;那么…

LDR6500在Type-C轉DP視頻雙向互傳方案

LDR6500在Type-C轉DP視頻雙向互傳方案中扮演著核心角色&#xff0c;以下是對該方案的詳細解析&#xff1a; 一、LDR6500芯片概述 LDR6500是樂得瑞科技針對USB Type-C標準中的Bridge設備而開發的USB-C DRP&#xff08;Dual Role Port&#xff0c;雙角色端口&#xff09;接口USB…

Vue3中 ref 與 reactive區別

ref 用途: ref 通常用于創建一個響應式的基本類型數據&#xff08;如 string、number、boolean 等&#xff09;&#xff0c;但它也可以用于對象或數組 返回值: ref 返回一個帶有 .value 屬性的對象&#xff0c;訪問或修改數據需要通過 .value 進行 使用場景: …

CRM企業客戶關系管理系統產品原型方案

客戶關系管理系統&#xff08;CRM&#xff09;是企業產品應用中的典范&#xff0c;旨在通過信息技術和互聯網技術提升企業核心競爭力&#xff0c;優化企業與顧客在銷售、營銷和服務方面的互動。本作品提供了一套通用型的CRM系統原型模板&#xff0c;涵蓋數據管理、審批流程、統…

【算法】 【c++】字符串s1 中刪除所有 s2 中出現的字符

【算法】 【c】字符串s1 中刪除所有 s2 中出現的字符 eg&#xff1a; s1:“helloworld” s2:“wd” 刪除后&#xff1a;s1:“helloorl” 1 雙循環匹配并刪除–>時間復雜度O(n^2) string 里面的刪除函數–>erase std::string::erase 是 C 標準庫中用于刪除字符串中字符…

利用委托用戶控件、窗體之間傳值 c#

獲取數據方&#xff08;usercontrol111&#xff09;聲明 public Func<Tuple<int, int>> GetCurrentResult { get; set; }獲取數據方調用 var val GetCurrentResult?.Invoke() ?? new Tuple<decimal, decimal>(0, 0);數據發送方聲明與賦值 usercontrol111…

【3-14 STC-pair超級詳細的解說】

1. pair的定義和結構 ? 基礎概念&#xff1a;考察對std::pair模板類的理解&#xff0c;包括其頭文件&#xff08;<utility>&#xff09;和基本語法&#xff08;pair<T1, T2>&#xff09;。 ? 成員訪問&#xff1a;測試對first和second成員變量的使用能力。 ? 構…

機器人觸覺的意義

機器人觸覺的重要性 觸覺在機器人領域至關重要&#xff0c;尤其是在自主操作、精細操控、人機交互等方面。雖然視覺和語音技術已高度發展&#xff0c;但機器人在現實世界中的操作仍然受限&#xff0c;因為&#xff1a; 視覺有局限性&#xff1a;僅憑視覺&#xff0c;機器人難…

RabbitMQ消息持久化與Lazy模式對比分析

RabbitMQ消息持久化與Lazy模式對比分析 在RabbitMQ中&#xff0c;消息持久化與Lazy模式是兩種不同的機制&#xff0c;分別針對消息可靠性、存儲優化等不同維度設計。以下從六個層面進行深度對比&#xff1a; 一、核心目標與作用對象差異 維度消息持久化&#xff08;delivery_…