Updating Homebrew 卡住的解决方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wsgzao
V2EX    macOS

Updating Homebrew 卡住的解决方案

  •  
  •   wsgzao Oct 27, 2020 4847 views
    This topic created in 2007 days ago, the information mentioned may be changed or developed.

    前言

    换了 MacBook 16 寸的电脑正好在使用 brew 安装一些应用,发现一个小问题是每次执行如brew install ansible命令停留在Updating Homebrew...的时间特别长,在新加坡理论上应该和网络无关,最后按照网络上的方案选择关闭每次检查更新解决。

    更新历史

    2020 年 10 月 13 日 - 初稿

    阅读原文 - https://wsgzao.github.io/post/homebrew-update/


    Homebrew 关闭自动更新

    通过环境变量关闭 Homebrew 自动更新解决 Updating Homebrew 方法最简单

    # 卡在 Updating Homebrew 好久 brew install ansible Updating Homebrew... # 关闭自动更新,在.zshrc 文件中加入下方命令,如果是 bash 请加在.bash_profile 文件中,全局变量可以 sudo vi /etc/profile vim ~/.zshrc export HOMEBREW_NO_AUTO_UPDATE=true # 刷新环境变量 source ~/.zshrc 

    Homebrew 镜像源加速

    我们平时执行 brew 命令安装软件的时候,跟这三个仓库有关:

    1. brew.git
    2. homebrew-core.git
    3. homebrew-bottles

    使用阿里或者清华的 Homebrew 镜像源代替可以进行加速

    https://mirrors.aliyun.com/homebrew/

    https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/

    # 替换 brew.git cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git # 替换 homebrew-core.git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git # 替换 homebrew-bottles 访问地址 echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc source ~/.zshrc 
    # 还原 brew.git cd "$(brew --repo)" git remote set-url origin https://github.com/Homebrew/brew.git # 还原 homebrew-core.git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://github.com/Homebrew/homebrew-core.git # 还原的话就是删除 HOMEBREW_BOTTLE_DOMAIN,上面的是 zsh 的命令,如果是 bash 的话请写在.bash_profile 文件中。 
    19 replies    2020-10-31 18:34:49 +08:00
    chendy
        1
    chendy  
       Oct 27, 2020
    开代理默秒全…
    k3Sv1
        2
    k3Sv1  
       Oct 27, 2020 via iPhone
    既然你在新加坡用国内镜像居然更快??
    wsgzao
        3
    wsgzao  
    OP
       Oct 27, 2020
    @k3Sv1 #2 我顺手记录下国内用户修改镜像的步骤了,网上参考资料有部分无效信息,我测试了一轮然后更新到 Blog 里,放了清华和阿里 2 组原始连接做主备,希望对各位有帮助吧
    monstervivi
        4
    monstervivi  
       Oct 27, 2020
    使用过镜像源,但有时候还是会卡住,之后通过代理方式解决。
    dingdangnao
        5
    dingdangnao  
       Oct 27, 2020   1
    1002xin
        6
    1002xin  
       Oct 27, 2020
    更换镜像源就算了,靠谱的代理才是正道
    Tumblr
        7
    Tumblr  
       Oct 27, 2020
    不能用 sudo brew 也是个蛋疼的问题。
    dapang1221
        8
    dapang1221  
       Oct 27, 2020
    这个 Updating Homebrew 可以用 ctrl+c 跳过的,它不只是从源请求更新,还会扫缓存的包
    miyunda
        9
    miyunda  
       Oct 27, 2020
    @chendy 这个与代理不代理关系不大吧?我开着全局代理也这样
    devjia
        10
    devjia  
       Oct 27, 2020 via iPhone
    顶一楼,优质的代理可以避免镜像的各种奇葩问题。

    有的同学说全局代理不生效,一般是由于需要单独给命令行设置 socket 代理,或者使用带虚拟网卡功能的代理软件。
    devjia
        11
    devjia  
       Oct 27, 2020 via iPhone
    @devjia 抱歉,需要纠正一下,socks 代理。
    LabJo
        12
    LabJo  
       Oct 27, 2020
    clashX pro 增强模式,无痛代理
    tenngoxars
        13
    tenngoxars  
       Oct 27, 2020
    Stlin
        14
    Stlin  
       Oct 27, 2020
    alias goproxy="export http_proxy=http://127.0.0.1:1087 https_proxy=http://127.0.0.1:1087"
    chendy
        15
    chendy  
       Oct 27, 2020
    @miyunda 有的地方是不走系统代理的,比如终端里就要自己 export http_proxt=xxxx
    hive
        16
    hive  
       Oct 28, 2020
    @chendy #14 TUN 可以解决这个,当然也可以 export
    ettingshausen
        17
    ettingshausen  
       Oct 28, 2020
    !HOMEBREW_NO_AUTO_UPDATE=1 brew install 来代替 brew install
    命令太长了,可以使用 alias 。
    alias 这个指令不是 Homebrew 自带的。首先需要 tap 一个官方仓库「 homebrew-aliases 」。
    brew tap homebrew/homebrew-aliases
    设置 alias:
    brew alias i='!HOMEBREW_NO_AUTO_UPDATE=1 brew install'

    免 update 安装 yarn:
    brew i yarn
    NanonaN
        18
    NanonaN  
       Oct 30, 2020
    其实觉得慢主要是因为更新不显示进度,如果能显示进度的话就会好很多,试试看 brew update --verbose
    forelegance
        19
    forelegance  
       Oct 31, 2020
    ctrl +c 可以 kill 掉 Updating Homebrew...直接进入 install 阶段
    About     Help     Advertise     Blog     API     FAQ     Solana     6113 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 144ms UTC 02:45 PVG 10:45 LAX 19:45 JFK 22:45
    Do have faith in what you're doing.