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

news2025/3/15 16:15:21

目录

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) Y

GnuPG 需要构建用户标识以辨认您的密钥。

真实姓名: 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.coloradmin.cn/o/2315537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬件驱动——51单片机:独立按键、中断、定时器/计数器

目录 一、独立按键 1.原理 2.封装函数 3.按键控制点灯 数码管 二、中断 1.原理 2.步骤 3.中断寄存器IE 4.控制寄存器TCON 5.打开外部中断0和1 三、定时器/计数器 1.原理 2.控制寄存器TCON 3.工作模式寄存器TMOD 4.按键控制频率的动态闪烁 一、独立按键 1…

P1259 黑白棋子的移动【java】【AC代码】

有 2n 个棋子排成一行&#xff0c;开始为位置白子全部在左边&#xff0c;黑子全部在右边&#xff0c;如下图为 n5 的情况&#xff1a; 移动棋子的规则是&#xff1a;每次必须同时移动相邻的两个棋子&#xff0c;颜色不限&#xff0c;可以左移也可以右移到空位上去&#xff0c;但…

67.Harmonyos NEXT 图片预览组件之性能优化策略

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; Harmonyos NEXT 图片预览组件之性能优化策略 文章目录 Harmonyos NEXT 图片预览组件之性能优化策略效果预览一、性能优化概述1. 性能优化的关键指标…

Windows下安装Git客户端

① 官网地址&#xff1a;https://git-scm.com/。 ② Git的优势 大部分操作在本地完成&#xff0c;不需要联网&#xff1b;完整性保证&#xff1b;尽可能添加数据而不是删除或修改数据&#xff1b;分支操作非常快捷流畅&#xff1b;与Linux 命令全面兼容。 ③ Git的安装 从官网…

SAP IBP for Supply Chain Certification Guide (Parag Bakde, Rishabh Gupta)

SAP IBP for Supply Chain Certification Guide (Parag Bakde, Rishabh Gupta)

如何处理PHP中的日期和时间问题

如何处理PHP中的日期和时间问题 在PHP开发中&#xff0c;日期和时间的处理是一个常见且重要的任务。无论是记录用户操作时间、生成时间戳&#xff0c;还是进行日期计算&#xff0c;PHP提供了丰富的函数和类来帮助开发者高效处理这些需求。本文将详细介绍如何在PHP中处理日期和…

TDengine 使用最佳实践

简介 阅读本文档需要具备的基础知识&#xff1a; Linux系统的基础知识&#xff0c;及基本命令网络基础知识&#xff1a;TCP/UDP、http、RESTful、域名解析、FQDN/hostname、hosts、防火墙、四层/七层负载均衡 本文档的阅读对象有&#xff1a;架构师、研发工程师&#xff0c;…

Spring、Spring Boot、Spring Cloud 的区别与联系

1. Spring 框架 定位&#xff1a;轻量级的企业级应用开发框架&#xff0c;核心是 IoC&#xff08;控制反转&#xff09; 和 AOP&#xff08;面向切面编程&#xff09;。 核心功能&#xff1a; 依赖注入&#xff08;DI&#xff09;&#xff1a;通过 Autowired、Component 等注解…

AutoGen-构建问答智能体

概述 如https://github.com/microsoft/autogen所述&#xff0c;autogen是一多智能体的框架&#xff0c;属于微软旗下的产品。 依靠AutoGen我们可以快速构建出一个多智能体应用&#xff0c;以满足我们各种业务场景。 环境说明 python&#xff0c;3.10AutoGen&#xff0c;0.4.2…

C语言实现括号匹配检查及栈的应用详解

目录 栈数据结构简介 C语言实现栈 栈的初始化 栈的销毁 栈的插入 栈的删除 栈的判空 获取栈顶数据 利用栈实现括号匹配检查 总结 在编程中&#xff0c;经常会遇到需要检查括号是否匹配的问题&#xff0c;比如在编译器中检查代码的语法正确性&#xff0c;或者在…

阿里云魔笔低代码应用开发平台快速搭建教程

AI低代码&#xff0c;大模型时代应用开发新范式 什么是魔笔 介绍什么是魔笔低代码应用开发平台。 魔笔是一款面向全端&#xff08;Web、H5、全平台小程序、App&#xff09;场景的模型驱动低代码开发平台&#xff0c;提供一站式的应用全生命周期管理&#xff0c;包括可视化开发…

A Survey on Mixture of Experts 混合专家模型综述(第二部分:混合专家系统设计)

A Survey on Mixture of Experts 混合专家模型综述 (第一部分&#xff1a;混合专家算法设计) A Survey on Mixture of Experts arxiv github&#xff1a;A-Survey-on-Mixture-of-Experts-in-LLMs ​ ​ ​ 5 System Design of Mixture of Experts While ​Mixture of Exper…

docker python:latest镜像 允许ssh远程

跳转到家目录 cd创建pythonsshdockerfile mkdir pythonsshdockerfile跳转pythonsshdockerfile cd pythonsshdockerfile创建Dockerfile文件 vim Dockerfile将Dockerfile的指令复制到文件中 # 使用 python:latest 作为基础镜像 # 如果我的镜像列表中没有python:latest镜像&…

Aim Robotics电动胶枪:机器人涂胶点胶的高效解决方案

在自动化和智能制造领域&#xff0c;机器人技术的应用越来越广泛&#xff0c;而涂胶和点胶作为生产过程中的重要环节&#xff0c;也逐渐实现了自动化和智能化。Aim Robotics作为一家专注于机器人技术的公司&#xff0c;其推出的电动胶枪为这一领域带来了高效、灵活且易于操作的…

【HDLbits--分支预测器简单实现】

HDLbits--分支预测器简单实现 1 timer2.branche predicitors3.Branch history shift4.Branch direction predictor 以下是分支预测器的简单其实现&#xff1b; 1 timer 实现一个计时器&#xff0c;当load1’b1时&#xff0c;加载data进去&#xff0c;当load1’b0时进行倒计时&…

Linux--操作系统/进程

ok&#xff0c;我们今天学习linux中的操作系统和进程 1. 冯诺依曼体系 我们常⻅的计算机&#xff0c;如笔记本。我们不常⻅的计算机&#xff0c;如服务器&#xff0c;⼤部分都遵守冯诺依曼体系。 内存是CPU和外设之间的一个巨大的缓存&#xff01; 截⾄⽬前&#xff0c;我们…

Java面试八股—Redis篇

一、Redis的使用场景 &#xff08;一&#xff09;缓存 1.Redis使用场景缓存 场景&#xff1a;缓存热点数据&#xff08;如用户信息、商品详情&#xff09;&#xff0c;减少数据库访问压力&#xff0c;提升响应速度。 2.缓存穿透 正常的访问是&#xff1a;根据ID查询文章&…

Web后端开发之Maven

Maven Mven是apache旗下的一个开源项目&#xff0c;用来管理和构建java项目的工具。 通过一小段描述信息来管理项目。 Maven的作用 1.依赖管理&#xff1a;方便快捷的管理项目依赖的资源&#xff08;jar包&#xff09;&#xff0c;避免版本冲突问题 以前用某个jar包需要下载…

there are no enabled repos

我做了两个操作 第一个操作&#xff1a; 1.先在本地电脑&#xff0c;也就是在我们电脑的桌面上下载 https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo 2.在CentOS 创建etc文件夹 3在etc文件夹内创建yum.repos.d文件夹 4.将下载好的repo 黏贴到yum.repos.d…

OpenEuler-22.03-LTS上利用Ansible轻松部署MySQL 5.7

一、需求 使用ansible自动化部署mysql二进制部署mysql部署mysql并创建JDBC用户 二、环境信息 本文涉及的代码&#xff0c;配置文件地址&#xff1a; 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1g6y 软件名称版本备注Ansible2.9.27All modules — Ansible Doc…