V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hhylx1950
V2EX  ›  macOS

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

  •  
  •   hhylx1950 · 2023-03-03 16:23:42 +08:00 · 5721 次点击
    这是一个创建于 662 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    第 1 条附言  ·  2023-03-04 15:30:41 +08:00
    感谢大家的帮助。最后总结一下,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 条回复    2023-03-05 15:02:59 +08:00
    CenN
        1
    CenN  
       2023-03-03 16:25:11 +08:00
    或许可以试试 Nix ?
    BrettD
        2
    BrettD  
       2023-03-03 16:25:27 +08:00 via iPhone
    人在墙外使用 Homebrew 没有遇到过这种问题
    zhaidoudou123
        3
    zhaidoudou123  
       2023-03-03 16:26:07 +08:00
    homebrew 换源是很迷的,我刚刚更新的时候还都是从 githubcontent 拿数据,开个梯子就秒下
    这个问题估计难解决
    yjim
        4
    yjim  
       2023-03-03 16:27:52 +08:00
    代理全局跑基本上没有很慢的情况。。不开代理就很慢
    chendy
        5
    chendy  
       2023-03-03 16:27:57 +08:00
    不慢,因为挂梯子
    早年折腾过换源,各种问题,最后老老实实 http_proxy 解决了…
    regothic
        6
    regothic  
       2023-03-03 16:30:17 +08:00
    @chendy +1 ,brew 之前先 http_proxy 一把,省心省力
    richarddingcn
        7
    richarddingcn  
       2023-03-03 16:32:14 +08:00
    brew 有清华源啊
    richarddingcn
        8
    richarddingcn  
       2023-03-03 16:32:42 +08:00
    kaz10025
        9
    kaz10025  
       2023-03-03 16:33:43 +08:00
    直接终端走代理...换源麻烦
    wunonglin
        10
    wunonglin  
       2023-03-03 16:37:01 +08:00
    用代理即可。很快很简单,写个脚本就行了
    goodryb
        11
    goodryb  
       2023-03-03 16:42:09 +08:00
    换源之后速度正常,4.x 以后都版本还要配置个 API 的源,不然拉 json 文件很慢
    wzcloud
        12
    wzcloud  
       2023-03-03 16:42:35 +08:00
    和 8 楼一样,用清华的镜像源
    MID
        13
    MID  
       2023-03-03 16:43:09 +08:00
    用全局代理,代理一下终端就好了,很快的
    yianing
        14
    yianing  
       2023-03-03 16:45:23 +08:00
    export HOMEBREW_NO_AUTO_UPDATE=1
    禁止每次安装时自动更新
    Tearia
        15
    Tearia  
       2023-03-03 16:48:47 +08:00
    都来这问了,不会还换源吧,直接终端走代理
    hhylx1950
        16
    hhylx1950  
    OP
       2023-03-03 16:48:49 +08:00
    @CenN 没有这个需求啊,我只是想简单的装几个命令行工具而已
    magic3584
        17
    magic3584  
       2023-03-03 16:51:57 +08:00   ❤️ 2
    终端挂代理
    在 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
        18
    akring  
       2023-03-03 17:03:59 +08:00   ❤️ 2
    Homebrew 4.0 以后已经不用 git 那一套而是换成 JSON 了,如果没升级可以升级看看。

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

    一直都是用中科大的源。
    shineshane
        25
    shineshane  
       2023-03-03 17:57:21 +08:00
    我升级到了 4.0 后更新奇慢,不清楚为什么,每次卡主的时候显示的总是 "git-remote-https" / "curl" / "ruby" 其中的一项,不知道在干什么,更新了清华源后还是很卡,怀疑在进行一些很慢的网络访问。有没有大佬给一下解决方案。
    zhaoxin
        26
    zhaoxin  
       2023-03-03 18:05:06 +08:00
    路由翻墙,brew 默认源,速度很快。
    Love4Taylor
        27
    Love4Taylor  
       2023-03-03 18:40:35 +08:00
    @wenyuan5 中科大的不是很全,homebrew-cask-fonts, homebrew-cask-drivers, homebrew-cask-versions 都没有
    nrtEBH
        28
    nrtEBH  
       2023-03-03 18:41:52 +08:00   ❤️ 3
    终端开代理 一劳永逸 别折腾换源
    storyxc
        29
    storyxc  
       2023-03-03 19:20:02 +08:00
    开全局代理,我是用 clash 的增强模式
    binaryify
        30
    binaryify  
       2023-03-03 19:22:10 +08:00
    homebrew4 之后好像好多了
    wu67
        31
    wu67  
       2023-03-03 19:30:49 +08:00
    # 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
        32
    clrss  
       2023-03-03 21:22:00 +08:00
    @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
        33
    hhylx1950  
    OP
       2023-03-03 21:39:03 +08:00
    @clrss 对,后面我也 untap 了这些。另外还发现自己之前装了别的 tap ,就是 ntfs-3g 那个,也会导致每次 git 特别慢。还有的话就是 auto update 更新间隔像你这样调大一点,不然 brew 自己更新也挺慢。这些都弄完之后,速度还算可以接受
    1002xin
        34
    1002xin  
       2023-03-04 11:01:12 +08:00
    Surge 增强模式,终端走代理,不慢
    skywalkerfc
        35
    skywalkerfc  
       2023-03-04 13:04:10 +08:00
    @Noicdi 昨天也看到了这篇少数派的文章,明白了为啥以前这么慢
    XuanYuan
        36
    XuanYuan  
       2023-03-04 13:47:35 +08:00
    请教一下:
    升级到 4.0 之后,我用 brew update 提示 Already up-to-date ,但是直接用 brew upgrade 却会更新软件。
    已切换清华大学的源
    molvqingtai
        37
    molvqingtai  
       2023-03-04 14:35:00 +08:00 via Android
    homebrew 刚刚升级,新版不会从 github 拉代码了
    hhylx1950
        38
    hhylx1950  
    OP
       2023-03-04 15:17:55 +08:00
    @XuanYuan 没遇到过,不太清楚,可以用-vd 看一下具体过程
    jack1998
        39
    jack1998  
       2023-03-05 15:02:59 +08:00
    终端走 proxy 设置一下 http/https_proxy 就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 18:47 · PVG 02:47 · LAX 10:47 · JFK 13:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.