MAC HOMEBREW 验证问题

复制代码
The solution (thanks again, StackOverflow) was to manually upgrade the gh package first to get the new command:

brew upgrade gh
Then I ran brew upgrade to upgrade everything... which didn't quite work, because I kept running into warnings like this one:

==> Verifying attestation for ca-certificates
Warning: Failed to verify attestation. Retrying in 1...
Warning: Failed to verify attestation. Retrying in 3...
Warning: Failed to verify attestation. Retrying in 9...
Warning: Failed to verify attestation. Retrying in 27...
I frequently have rate limiting problems with my GitHub account, so my hunch is that these were causing the command to fail.

The fix was to run this instead, using the HOMEBREW_NO_VERIFY_ATTESTATIONS environment variable to disable attestation checking entirely:

HOMEBREW_NO_VERIFY_ATTESTATIONS=1 brew upgrade

升级 gh 包:首先你通过升级 gh(GitHub CLI)包,确保获得了最新版本,其中包含了你需要的新命令:

复制代码
brew upgrade gh

遇到验证问题:当你运行 brew upgrade 升级所有软件包时,Homebrew 在验证 ca-certificates 的认证时遇到了问题,并且一直重试,间隔逐渐增加。这可能是由于网络问题或GitHub的速率限制导致的。

绕过验证:为了解决这个问题,你通过设置 HOMEBREW_NO_VERIFY_ATTESTATIONS=1 环境变量,完全禁用了认证验证:

复制代码
HOMEBREW_NO_VERIFY_ATTESTATIONS=1 brew upgrade

这个方法是一个临时解决方案,尤其是在遇到GitHub速率限制或网络问题时,能够有效绕过认证验证,让升级过程继续进行。

进一步的建议:

如果GitHub账户的速率限制问题持续,可以考虑使用GitHub的身份验证机制(例如 gh auth login)来减少遇到限制的机会。

定期更新Homebrew包可以帮助避免一些潜在问题。

如果你有更多问题,或希望探讨其他类似问题的解决方案,随时告诉我!

复制代码
Warning: Failed to verify attestation. Retrying in 1s...
Warning: Failed to verify attestation. Retrying in 3s...
Warning: Failed to verify attestation. Retrying in 9s...
  1. 解决权限问题
    错误信息中提到 mkdir /Users/rocky/.cache/gh: permission denied,这表明 Homebrew 在尝试创建或写入缓存目录时遇到了权限问题。你可以通过更改缓存目录的权限来解决这个问题:

    sudo chown -R $(whoami) /Users/rocky/.cache/gh

这会将缓存目录的所有权更改为当前用户,从而避免权限问题。

  1. 禁用 attestation 验证
    如果你确认这个问题是由于 attestation(验证)失败而导致的,可以通过设置环境变量禁用验证,以继续安装:

    HOMEBREW_NO_VERIFY_ATTESTATIONS=1 brew install postgresql@17

这会跳过 attestation 验证,但请注意,这种做法会让你失去对软件包来源的验证,可能存在一定的安全风险。

  1. 清除 Homebrew 缓存
    由于该错误可能与缓存文件损坏或不完整有关,你可以尝试清除 Homebrew 的缓存并重新安装:

    brew cleanup
    brew install postgresql@17

这将删除 Homebrew 的旧缓存并强制重新下载和安装软件包。

  1. 更新 Homebrew
    如果你的 Homebrew 版本较旧,可能存在一些已知的 bug 或不兼容的问题,尝试更新 Homebrew 到最新版本:

    brew update
    brew upgrade

更新后,再次尝试安装 postgresql@17:

复制代码
brew install postgresql@17
相关推荐
I烟雨云渊T4 小时前
iOS 电子书听书功能的实现
macos·ios·cocoa
qq_214782615 小时前
mac下通过anaconda安装Python
python·macos·jupyter
程知农13 小时前
Mac电脑_钥匙串操作选项变灰的情况下如何删除?
macos
键盘敲没电13 小时前
【iOS】多线程基础
学习·macos·ios·objective-c·cocoa
Wario14 小时前
我在 Mac 上装了 Aerospace,效率翻倍不是说说而已
macos·mac
西京刀客15 小时前
macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)
macos
明天不下雨(牛客同名)15 小时前
Mac查看MySQL版本的命令
macos
yanyu-yaya1 天前
mac电脑安装 nvm 报错如何解决
java·前端·macos
二楼后座。1 天前
mac安装brew时macos无法信任ruby的解决方法
开发语言·macos·ruby
lanhuazui101 天前
MAC电脑怎么通过触摸屏打开右键
macos