hhylx1950
V2EX  ›  macOS

请问大家的 homebrew 安装和升级软件是不是也很慢?

  •  
  •   hhylx1950 · Mar 3, 2023 · 8054 views
    This topic created in 1344 days ago, the information mentioned may be changed or developed.

    如题,我一般用 homebrew 装一些 ffmpeg 之类的命令行工具,体验非常差,基本每次安装都要等两三分钟更新。而 linux 上的类似工具比如 apt 相比之下无论升级还是安装新软件都非常迅速。我已经换了清华源来更新,所以应该不是网络问题,但是还是很慢,体感似乎是 git 计算 diff 那一步要很久。想问一下大家是不是也是这样?

    另外,homebrew 上很多包都用了 github 来打包;由于大家都懂的原因,下载速度简直惨不忍睹,不知道这部分有没有可能找到国内镜像?

    如果实在没办法,我打算换 macports ,大家有用过吗,体验如何?

    Supplement 1  ·  Mar 4, 2023
    感谢大家的帮助。最后总结一下,Homebrew 4.0 之后,不用代理的情况下,要变快的方法:

    1. 避免用 git 更新 formula 和 cask ,如 @clrss 所言,untap core 和 cask ;
    2. 加大自动更新间隔;还有不要让 brew 每次都 update ,因为 brew 本身还是用 git ,挺慢的。感谢 @yianing 和 @clrss;
    3. 遇到问题用-vd 看一下卡在哪里,国内有些 homebrew 镜像似乎有问题,git 会卡住。

    当然代理还是最方便的办法。以上这些搞完,brew 的速度还凑合;等忙完这阵子,我打算换 macports 试试。
    39 replies  •  2023-03-05 15:02:59 +08:00
    Gave2620
    Gave2620
    Mar 3, 2023
    1
    或许可以试试 Nix ?
    BrettD
    BrettD
    Mar 3, 2023 via iPhone
    2
    人在墙外使用 Homebrew 没有遇到过这种问题
    unneeded
    unneeded
    Mar 3, 2023
    3
    homebrew 换源是很迷的,我刚刚更新的时候还都是从 githubcontent 拿数据,开个梯子就秒下
    这个问题估计难解决
    yjim
    yjim
    Mar 3, 2023
    4
    代理全局跑基本上没有很慢的情况。。不开代理就很慢
    chendy
    chendy
    Mar 3, 2023
    5
    不慢,因为挂梯子
    早年折腾过换源,各种问题,最后老老实实 http_proxy 解决了…
    regothic
    regothic
    Mar 3, 2023
    6
    @chendy +1 ,brew 之前先 http_proxy 一把,省心省力
    richarddingcn
    richarddingcn
    Mar 3, 2023
    7
    brew 有清华源啊
    kaz10025
    kaz10025
    Mar 3, 2023
    9
    直接终端走代理...换源麻烦
    shakaraka
    shakaraka
    Mar 3, 2023
    10
    用代理即可。很快很简单,写个脚本就行了
    goodryb
    goodryb
    Mar 3, 2023
    11
    换源之后速度正常,4.x 以后都版本还要配置个 API 的源,不然拉 json 文件很慢
    wzcloud
    wzcloud
    Mar 3, 2023
    12
    和 8 楼一样,用清华的镜像源
    MID
    MID
    Mar 3, 2023
    13
    用全局代理,代理一下终端就好了,很快的
    rammiah
    rammiah
    Mar 3, 2023
    14
    export HOMEBREW_NO_AUTO_UPDATE=1
    禁止每次安装时自动更新
    Tearia
    Tearia
    Mar 3, 2023
    15
    都来这问了,不会还换源吧,直接终端走代理
    hhylx1950
    hhylx1950
    OP
    Mar 3, 2023
    16
    @CenN 没有这个需求啊,我只是想简单的装几个命令行工具而已
    rrubick
    rrubick
    Mar 3, 2023❤️2
    17
    终端挂代理
    在 zsh 文件里配置一下,使用的时候就是 proxy 或者 unsetproxy
    alias proxy="export https_proxy=http://127.0.0.1:7890
    http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890"
    alias unsetproxy="unset https_proxy && unset http_proxy && unset all_proxy"
    akring
    akring
    Mar 3, 2023❤️2
    18
    Homebrew 4.0 以后已经不用 git 那一套而是换成 JSON 了,如果没升级可以升级看看。

    https://sspai.com/post/78587
    hhylx1950
    hhylx1950
    OP
    Mar 3, 2023
    19
    @zhaidoudou123
    @goodryb
    @akring
    我已经更新 4.0 并且配置过新的 api 源了,不过还是会慢,原因似乎是 4.0 之前装的软件在更新的时候还会连 git ,而且还是 github 仓库而不是自己配的镜像源。不过问题还是找到了,重装一下旧软件应该能解决。感谢🙏
    oxromantic
    oxromantic
    Mar 3, 2023
    20
    虽然你 homebrew repo 用了清华源,但这个 repo 里 link 的其他资源不一定在清华源啊,譬如 github 之类
    darksword21
    darksword21
    Mar 3, 2023
    21
    tui: nix
    gui: brew cask
    idlerlestat
    idlerlestat
    Mar 3, 2023
    22
    我的操作是,brew update 走梯子,brew upgrade 不走
    Noicdi
    Noicdi
    Mar 3, 2023 via iPhone
    23
    https://sspai.com/post/78587 ,少数派的一篇文章,其中写到了为什么 homebrew 的软件更新为啥慢
    wenyuan5
    wenyuan5
    Mar 3, 2023
    24
    USTC Open Source Software Mirror
    https://mirrors.ustc.edu.cn/

    一直都是用中科大的源。
    shineshane
    shineshane
    Mar 3, 2023
    25
    我升级到了 4.0 后更新奇慢,不清楚为什么,每次卡主的时候显示的总是 "git-remote-https" / "curl" / "ruby" 其中的一项,不知道在干什么,更新了清华源后还是很卡,怀疑在进行一些很慢的网络访问。有没有大佬给一下解决方案。
    zhaoxin
    zhaoxin
    Mar 3, 2023
    26
    路由翻墙,brew 默认源,速度很快。
    love4taylor
    love4taylor
    Mar 3, 2023
    27
    @wenyuan5 中科大的不是很全,homebrew-cask-fonts, homebrew-cask-drivers, homebrew-cask-versions 都没有
    nrtEBH
    nrtEBH
    Mar 3, 2023❤️3
    28
    终端开代理 一劳永逸 别折腾换源
    storyxc
    storyxc
    Mar 3, 2023
    29
    开全局代理,我是用 clash 的增强模式
    binaryify
    binaryify
    Mar 3, 2023
    30
    homebrew4 之后好像好多了
    wu67
    wu67
    Mar 3, 2023
    31
    # set proxy temporarily
    alias enable_proxy="export ALL_PROXY=socks5://127.0.0.1:1080"
    # auto brew update
    alias brew_update="brew update && brew upgrade && brew upgrade --cask && brew cleanup"
    clrss
    clrss
    Mar 3, 2023
    32
    @hhylx1950 直接 untap homebrew/core, homebrew/cask, formula 应该不会用 git 才对.

    我设了四个变量(具体的源不做推荐避免扎堆).
    export HOMEBREW_API_AUTO_UPDATE_SECS=3600
    export HOMEBREW_BREW_GIT_REMOTE=
    export HOMEBREW_API_DOMAIN=
    export HOMEBREW_BOTTLE_DOMAIN=
    hhylx1950
    hhylx1950
    OP
    Mar 3, 2023
    33
    @clrss 对,后面我也 untap 了这些。另外还发现自己之前装了别的 tap ,就是 ntfs-3g 那个,也会导致每次 git 特别慢。还有的话就是 auto update 更新间隔像你这样调大一点,不然 brew 自己更新也挺慢。这些都弄完之后,速度还算可以接受
    1002xin
    1002xin
    Mar 4, 2023
    34
    Surge 增强模式,终端走代理,不慢
    skywalkerfc
    skywalkerfc
    Mar 4, 2023
    35
    @Noicdi 昨天也看到了这篇少数派的文章,明白了为啥以前这么慢
    XuanYuan
    XuanYuan
    Mar 4, 2023
    36
    请教一下:
    升级到 4.0 之后,我用 brew update 提示 Already up-to-date ,但是直接用 brew upgrade 却会更新软件。
    已切换清华大学的源
    molvqingtai
    molvqingtai
    Mar 4, 2023 via Android
    37
    homebrew 刚刚升级,新版不会从 github 拉代码了
    hhylx1950
    hhylx1950
    OP
    Mar 4, 2023
    38
    @XuanYuan 没遇到过,不太清楚,可以用-vd 看一下具体过程
    SPX6900
    SPX6900
    Mar 5, 2023
    39
    终端走 proxy 设置一下 http/https_proxy 就可以了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2453 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 11:07 · PVG 19:07 · LAX 03:07 · JFK 06:07
    ♥ Do have faith in what you're doing.