Updating Homebrew... 更新了镜像依然卡死

2020-01-06 23:02:42

参考地址 macOS平台Homebrew更新brew update卡死,完美解决

其实你更换了镜像以后展示Updating Homebrew...他并没有阻止我们进行安装某些东西,我们我们可以选择Control-C直接终止当前前台update进程,然后brew就会接着执行install了.

但这样治标不治本,接下来我们看应该怎么办

一. Homebrew 简介
  1. Homebrew是什么?

    • Homebrew是macOS或Linux缺失的软件包的管理器.

  2. 如何安装Homebrew?

    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    • 命令行里运行以下命令即可.

  3. Homebrew几点备注.

    • Homebrew会将软件包安装到独立目录,一般为/usr/local/Cellar目录.

    • 然后将文件软连接至执行路径,一般为/usr/local/bin目录.

二. Homebrew 命令
  • brew install [包名]

  • brew update

  • brew update -verbose

  • brew cleanup:清理旧有软件包.

  • brew doctor:诊断Homebrew的问题.

  • brew update-reset

三. brew update 卡死解决方案
  1. 问题场景.

    • 场景1.使用brew install [软件包]安装其他软件包,卡在Updating Homebrew...

    • 场景2.输入brew update更新brew,半天没反应.

  2. 原因分析.

    • 输入brew update -verbose我们可以看到brew update工作的具体步骤.

    • 我们可以看到它一共检查了Homebrew,homebrew-cask,homebrew-core,homebrew-services这几个文件.

    • 而网上大部分教程替换更新源时往往只替换了Homebrewhomebrew-core这两个的源.

    • 出问题,可能就出在homebrew-cask这个文件上,而我之前运行brew update -verbose显示卡死也的确是卡在这个地方.

    • 所以知道了原因,我们只要把homebrew-cask这个文件的更新源也替换一下即可.

    • 具体操作见中国科大镜像源:homebrew-cask.

    • 对于场景1我们可以选择Control-C直接终止当前前台update进程,然后brew就会接着执行install了.

    • 但这样并不能"治本",其实造成上述两种情况的主要原因是资源访问太慢.

    • 我们知道默认官方更新源在github.com上,因为一些原因,国内访问不太顺畅.

    • 解决方案是我们可以选择国内镜像更新源.

    • 国内镜像更新源推荐中国科大开源软件镜像站清华大学开源软件镜像站.

    • 某些同学可能要有疑问了,"我已经按照网上其他教程替换更新源了呀?怎么还不行?"

    • 这里回答是,"可能你并没有更换彻底".

      $ brew update -verboseChecking if we need to fetch /usr/local/Homebrew...
      Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask...
      Fetching /usr/local/Homebrew...
      Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core...
      Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask...
      Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-services...
      Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core...
      Already up-to-date.
  3. 解决方案,以USTC镜像为例.

    • 步骤1.替换Homebrew源.
      shell $ cd "$(brew --repo)" $ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

    • 步骤2.替换homebrew-core源.
      shell $ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" $ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

    • 步骤3.替换homebrew-cask源.
      shell $ cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask $ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

    • 补充. 中国科大开源软件镜像站清华大学开源软件镜像站同时提供的有Homebrew二进制预编译包Homebrew-bottles的镜像源.


  • 2020-04-15 21:14:13

    .d.ts与.ts的区别 .d.ts怎么用

    在TypeScript项目中直接引入Javascript包是不能使用的,因为包中缺少TypeScript类型声明,如果是自己写的包,可以考虑自己增加一个.d.ts类型声明文件,如果代码比较多或者使用的是第三方的包,自己写就比较麻烦了。第三方的包首先考虑找一个别人写好的声明文件,如果没有可以使用一些自动生成声明文件的工具。

  • 2020-04-17 09:27:38

    推荐一个老前端开发者的博客

    前端修炼场,首页标签大全greenSock前端研究VUE研究我们的作品flash技术探讨开发心得个人档案培训与招聘服务报价

  • 2020-04-17 09:41:47

    前端css博客推荐

    这个博客有大量的css内容,有svg,TweenMax等教程,抽空通读一下

  • 2020-04-17 10:20:47

    GreenSocks Animation Platform详细工作机制以及TweenMax用法

    GSAP(GreenSocks Animation Platform)是一个性能较好的前端动画库。最近在写一个前端SVG动画编辑器时选择了它作为底层的动画库。为了减少踩坑,我大致浏览了它的源代码,这篇文章主要是对我的理解进行记录。 我会先简单介绍一下这个动画库的API,再介绍它的插件机制,最后会从一个用例出发跟踪其运行机制。

  • 2020-04-17 10:39:02

    CSS 滤镜技巧与细节,实现火焰,融合等特效

    简单来说,CSS 滤镜就是提供类似 PS 的图形特效,像模糊,锐化或元素变色等功能。通常被用于调整图片,背景和边界的渲染。本文就会围绕这些滤镜展开,看看具体能怎么使用或者玩出什么花活。

  • 2020-04-17 10:42:29

    (三)TweenMax运动效果

    运动效果 实例化对象.set() 立刻运动到指定地点,不用加时间

  • 2020-04-17 11:19:55

    Vue中的is和操作DOM

    vue中is的属性引入是为了解决dom结构中对放入html的元素有限制的问题,譬如ul里面要接上li的标签,引入is的属性后,你完全可以写成这样

  • 2020-04-17 11:27:48

    TweenMax中文初级教程一

    TweenMax.js集成了GreenSock动画平台的大部分核心功能,且具有极高的兼容性。

  • 2020-04-17 11:28:35

    TweenMax中文初级教程二

    TimelineMax是GreenSock 动画平台中的动画组织、排序、管理工具,可创建时间轴(timeline)作为动画或其他时间轴的容器,这使得整个动画控制和精确管理时间变得简单,避免了通过反复delay和回调进行动画。 作者:李霖弢 链接:https://www.jianshu.com/p/8c0361e43bf5 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。