当前位置: 首页 > news >正文

brew install 无法从ghcr.io/v2/homebrew/core下载安装,兴奋解决

痛苦的经历

使用mac的同学都会经常使用brew 工具安装,我本来是需要安装一下ffmpeg来着,我就执行以下命令

brew install py3cairo ffmpeg
==> Downloading https://ghcr.io/v2/homebrew/core/openssl/3/blobs/sha256:32da4055066fca85ebd5057718d0ec5c80eb162f796
#############           12.2%
#############           12.4%
#############           12.5%
#############           12.6%
#############           12.6%
#############           12.6%
#############           12.7%
#############           12.7%
#################  	    16.1%

这种情况还是好的,是安装慢,但是啊,好不容易下载完成后面伴有下面这种提示

Warning: formula.jws.json: update failed, falling back to cached version.

安装失败,死活也安装不了。。。

冷静分析

注意啦,这个事情很重要,主要原因是,我一开始碰到这种也是百度,也会指导说配置一个镜像之后下载就飞起。但是这种时候就是会发现有的时候起作用,有的时候又不灵,这就是少了一步冷静分析。

其实我们使用brew install 往往伴随以下过程

校验系统版本->校验brew版本->检查库的版本

  1. 首先如果是老版本系统会提示不支持的情况,或者失效,哎估计一贯以来苹果的策略吧,希望用户升级到新系统,相差几个版本的话就来个不支持,一定要搞到最新才行。这种情况就老实升级系统吧。
    在这里插入图片描述
  2. brew版本太低了
    这个是每次安装的时候会做检查,也可以主动触发,就是我们熟悉的brew update操作,这玩意吧,其实是在github上面的,由于国内网络环境确实比较差,所以这一步劝退了很多人
  3. brew管理的软件包下载失败,这种就是真正的下载软件包的动作,但是这个内部也存在库迁移的现象,类似如下的情况
brew install 无法从ghcr.io/v2/homebrew/core下载安装,怎么解决?
brew install 安装失败,http://homebrew.bintray.com失效,全部从ghcr.io/v2/homebrew/core 下载

系统更新

我们针对问题去解决,这样子才能做得彻底
系统更新就直接更新就好,我自己使用的家庭网络,也可以更新,没啥大问题

brew版本与仓库的更新

brew其实是保存在github仓库里面的,大凡没找到合适的科学上网的话确实比较困难,一般是推荐使用国内镜像,重新认识一下brew,全称是Homebrew,主要有四个部分组成: brew、homebrew-core 、homebrew-cask、homebrew-bottles,具体功能如下:

名称说明默认地址
brewHomebrew 源代码仓库HOMEBREW_BREW_GIT_REMOTE
homebrew-coreHomebrew 核心源HOMEBREW_CORE_GIT_REMOTE
homebrew-cask提供 macOS 应用和大型二进制文件的安装HOMEBREW_API_DOMAIN
homebrew-bottles预编译二进制软件包HOMEBREW_BOTTLE_DOMAIN

注意啦,当我们试着去解决brew源码仓库或者brew自身软件源的时候,其实我们就是去解决git远程仓库问题,Git Remote Mirroring,后面具体的软件包的时候其实是在解决软件包的源问题,其实是两趴事情

解决远程仓库Git Remote Mirroring

直接替换git仓库地址即可,网上也容易搜索到

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"

好,这种信息我怎么知道呢,要学会查询官网,点击文档地址,找到下面的位置
在这里插入图片描述
其实比较清楚的啦,如果你是碰到链接github.com方面的问题,其实就可以使用git镜像替换,然后下面给出环境变量设置方式,这不就对应上了。

更多的环境变量参数

其实brew很多都是可以通过环境变量来控制的,比如说前面列出来的HOMEBREW_API_DOMAIN和HOMEBREW_BOTTLE_DOMAIN是怎么来的呢,其实是翻到了下面的内容:

HOMEBREW_BOTTLE_DOMAIN
Use this URL as the download mirror for bottles. If bottles at that URL are temporarily unavailable, the default bottle domain will be used as a fallback mirror. 
For example, HOMEBREW_BOTTLE_DOMAIN=http://localhost:8080 will cause all bottles to download from the prefix http://localhost:8080/. If bottles are not available at HOMEBREW_BOTTLE_DOMAIN they will be downloaded from the default bottle domain.
Default: https://ghcr.io/v2/homebrew/core.HOMEBREW_API_DOMAIN
Use this URL as the download mirror for Homebrew JSON API. If metadata files at that URL are temporarily unavailable, the default API domain will be used as a fallback mirror.

HOMEBREW_BOTTLE_DOMAIN
使用这个url从bottles下载镜像包,如果这个链接暂时不能用的话,就会回退到默认的地址了。其实也就是字面上的意思,大家有时候发现下载不了之后会去尝试另外的地址,就是这么来的。

HOMEBREW_API_DOMAIN
这个是表示Homebrew JSON API的镜像地址
到了这一步,如果访问不了的话就调整镜像地址即可

export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles"

这些都是哪里查询的,请大家关注 官网的地址

授人以渔

我其实不会喜欢直接改变系统原有的配置,所以我每次是在环境变量上面配置一下,临时性使用,因为我比较喜欢主动控制的感觉,以及出问题之后我需要逐步调整,并不喜欢一个命令下去就结束了,虽然运气好的时候确实是会成功,但是下一次的话就不好说。

另外我上面给到了一些镜像地址,网上其实可以搜到的,但是我查询到一个不错的助手网站,帮忙生成命令还能切换,可以用一波。里面其他信息也不错的。
文档地址
在这里插入图片描述

后记

就这些了,困恼我比较久的按照软件问题好了很多~~


http://www.mrgr.cn/news/50238.html

相关文章:

  • C++基础之值(Value)的类别
  • 在JavaScript当中,怎么区分异质对象和常规对象,为什么说proxy是异质对象?
  • 电工仿真软件 3.0.0 | 高效电路模拟工具
  • Halcon 使用二维像素分类对图像进行分割
  • 19009 后缀表达式
  • 解析 MySQL 查询优化:提升性能的十个关键策略
  • Vulnhub:DarkHole_2
  • 10月下半记录
  • C++面试速通宝典——27
  • spring boot热部署
  • VMware免安装直接使用Win7成品虚拟机
  • 若依前后端分离版本el-select下拉框字典如何设置默认值。
  • java中常量
  • 【C语言】动态内存管理及相关笔试题
  • Vmware一步安装win7系统
  • mysql集群-主库从库配置--主从库分离
  • 双11购物节,淘宝、京东薅羊毛~红包攻略
  • IWO-Kmeans聚类 | MATLAB实现IWO-Kmeans侵入性杂草优化K均值聚类算法
  • 安装transformer(配置pytorch环境;安装transformers库)
  • LeetCode Hot100 - 双指针篇