目錄
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