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

解决 Homebrew 慢,无法 update 的一个思路

  •  
  •   GTD · 2020-11-30 11:40:25 +08:00 · 5067 次点击
    这是一个创建于 1457 天前的主题,其中的信息可能已经有所发展或是发生改变。

    brew 换源就不说了,不好用,国内源很不稳定,我就没用过国内稳定好用的 homebrew 源

    换了无数个结点,有时候一直 brew update 没反应,经过楼主发现,原来是结点有问题,

    什么香港啊 新加坡啊 日本啊都没用,楼主都试过了,只有美国有用

    楼主换上自己学校提供的 Anyconnect,brew 秒过,猜测大部分服务器在美国,所以美国速度会快很多,

    所以建议大家对 brew update,用美国结点会好很多

    47 条回复    2020-12-01 16:24:03 +08:00
    firethehole
        1
    firethehole  
       2020-11-30 11:53:27 +08:00
    这就试试美国节点
    firethehole
        2
    firethehole  
       2020-11-30 11:59:08 +08:00
    哎,还不行
    mschultz
        3
    mschultz  
       2020-11-30 11:59:10 +08:00   ❤️ 2
    看楼主这个帖子之前,我无论是人在内地用 TUNA 源,人在内地用香港梯子,还是人在香港用这边的运营商直连,都挺快的。看到楼主这个帖子之后再试一下(人在香港用直连),结果卡住了😂
    lostberryzz
        4
    lostberryzz  
       2020-11-30 12:04:42 +08:00
    可能是 anyconnect 而不是哪个节点的原因
    GTD
        5
    GTD  
    OP
       2020-11-30 12:05:38 +08:00
    @lostberryzz #4 不是啊,anyconnect 就是一个工具,我 clash 也是穿透终端的
    Abercrombie
        6
    Abercrombie  
       2020-11-30 12:08:23 +08:00
    git config --global https.proxy “127.0.0.1:1080”就行了( ssr 本地端口自己改)
    lostberryzz
        7
    lostberryzz  
       2020-11-30 12:12:28 +08:00
    刚刚我尝试了下,美国德国香港新加坡日本的多个节点,表现没有明显差异
    GTD
        8
    GTD  
    OP
       2020-11-30 12:13:45 +08:00
    @Abercrombie #6 这个不是基本操作吗........
    Skybrim
        9
    Skybrim  
       2020-11-30 12:17:08 +08:00
    一直用 ustc 镜像,挺快的啊
    LinSP
        10
    LinSP  
       2020-11-30 12:46:44 +08:00
    brew update 是有一些操作的,他显示 updating homebrew 的时候在后台是有一些操作的。
    而且这个操作可以延续,所以你下面的 brew install unrar 的 update 继承了之前的操作,显示一下就好了。实际上 update 的一些操作在前面已经做了

    根据我的 brew 使用经验应该是这样的
    GTD
        11
    GTD  
    OP
       2020-11-30 12:47:44 +08:00
    @LinSP #10 不是的不是的,brew update 这几天是动的动不了,以前是没问题
    zhouweiluan
        12
    zhouweiluan  
       2020-11-30 12:48:05 +08:00
    一直用香港节点,感觉没出过什么问题。
    倒是前几天下午一直卡着,换了美国节点也无济于事,到头来是 github 的问题。
    Wicked
        13
    Wicked  
       2020-11-30 13:03:40 +08:00 via iPhone
    貌似终极解决方法是建个虚拟网卡,确保所有的控制台程序都走代理。
    GTD
        14
    GTD  
    OP
       2020-11-30 13:06:42 +08:00
    @Wicked #13 控制台走代理很简单,现在不是控制台不走代理的问题,是走了代理还是不行,是 github 的问题
    CrazyRundong
        15
    CrazyRundong  
       2020-11-30 13:17:34 +08:00 via iPhone
    如果我没记错的话,brew update 是通过拉取 homebrew 上游的 git 仓库(默认用的 GitHub via HTTPS )来更新 formula 列表,可能是 LZ 当地的宽带供应商限制了 GitHub 的 git repo 访问速度?可以试下 TUNA 镜像的 homebrew git repo: https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/
    Abercrombie
        16
    Abercrombie  
       2020-11-30 13:17:46 +08:00
    @GTD brew update 背后就是 git pull,git 的全局代理设置好了,brew update 应该是没问题的
    GTD
        17
    GTD  
    OP
       2020-11-30 13:30:36 +08:00
    @Abercrombie #16 https://www.v2ex.com/t/729582

    你可以看下这个帖子,并不是一个人有我这个问题,而是 github 的亚太区挂了
    lostberryzz
        18
    lostberryzz  
       2020-11-30 13:32:47 +08:00
    建议加上-v 看看到底是哪一步出了问题
    Torpedo
        19
    Torpedo  
       2020-11-30 13:41:27 +08:00
    每次都是设置全局代理,用完再去掉
    warcraft1236
        20
    warcraft1236  
       2020-11-30 13:50:19 +08:00
    update 卡是因为 update 的时候需要去 github 上更新数据,如果连接 github 不卡,那就 update 不卡

    所以只是因为你的 fq 节点中美国连接 github 不卡而已


    与梯子有关,与地域无关
    ryj5566
        21
    ryj5566  
       2020-11-30 16:34:31 +08:00 via iPhone
    跟楼主一样,我也试了很多节点,只不过最后是用了日本的线路解决问题哈
    Xusually
        22
    Xusually  
       2020-11-30 16:38:46 +08:00
    最近几天有点不太正常,用美西的节点代理就可以了,不然等超时要很久。
    nguoidiqua
        23
    nguoidiqua  
       2020-11-30 16:46:25 +08:00
    感觉是 DNS 解析的问题,可能你通过某国上网,但他给你解析到另外一国的 CDN 。

    看看自己电脑的 DNS 相关设置,然后在终端 ping 对应域名看看解析到哪里去了。
    MaxLi77
        24
    MaxLi77  
       2020-11-30 16:50:18 +08:00
    不需要啥思路,换个好用的代理比什么都强
    yingqi7
        25
    yingqi7  
       2020-11-30 17:24:39 +08:00 via iPhone
    代理就是一切
    billtsui
        26
    billtsui  
       2020-11-30 18:03:24 +08:00
    一直用 ustc 镜像,挺快的
    linvaux
        27
    linvaux  
       2020-11-30 18:12:08 +08:00 via iPhone
    GTD
        28
    GTD  
    OP
       2020-11-30 18:15:36 +08:00
    @linvaux #27 可惜该走 github 的好像还是走 github

    并不能解决根本问题
    Tronsc
        29
    Tronsc  
       2020-11-30 18:22:19 +08:00
    zsh 主题好看,能分享一下吗😀
    GTD
        30
    GTD  
    OP
       2020-11-30 18:23:36 +08:00
    @Tronsc #29 ohmyzsh+powerline 10k
    Tronsc
        31
    Tronsc  
       2020-11-30 18:24:40 +08:00
    @GTD 谢谢
    gqbre
        32
    gqbre  
       2020-11-30 18:25:48 +08:00
    代理稳就是一切,其他都没用
    unixeno
        33
    unixeno  
       2020-11-30 18:32:03 +08:00 via Android
    ustc 不是有 homebrew 镜像么
    GTD
        34
    GTD  
    OP
       2020-11-30 18:49:47 +08:00
    @gqbre #32
    @yingqi7 #25
    @MaxLi77 #24

    跟代理没毛线关系,人在香港,一样无法 brew update
    GTD
        35
    GTD  
    OP
       2020-11-30 18:50:36 +08:00
    @gqbre #32
    @yingqi7 #25
    @MaxLi77 #24

    这几天就是 github 亚太线路有问题,我朋友在日本一样没法 brew update
    0x4F5DA2
        36
    0x4F5DA2  
       2020-11-30 21:13:43 +08:00 via iPhone
    用清华源 /export http_proxy
    lostberryzz
        37
    lostberryzz  
       2020-11-30 21:16:46 +08:00   ❤️ 1
    最近发现 brew update 会失败,错误显示为

    error: RPC failed; curl 18 transfer closed with outstanding read data remaining
    fatal: the remote end hung up unexpectedly
    Error: Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core failed!

    在 gh 上找到了这个 issue: https://github.com/Homebrew/homebrew-core/issues/61772
    可以通过这条命令解决问题:

    git config --global http.postBuffer 524288000
    CamD
        38
    CamD  
       2020-11-30 21:39:06 +08:00 via iPhone   ❤️ 1
    可以用 brew update --verbose 来看自己更新时是什么卡住了再去找对应的镜像源。只换一个 core 源还不够,起码还得再换一个 cask,有些冷门的 tap 根本没国内源所以卡得要死
    nrtEBH
        39
    nrtEBH  
       2020-11-30 23:24:41 +08:00
    把 proxy 配到 cli 就好了
    GTD
        40
    GTD  
    OP
       2020-11-30 23:26:41 +08:00
    @nrtEBH #39 认真看我的截图,cli 早就被穿透了,跟 proxy 没有关系
    IgniteWhite
        41
    IgniteWhite  
       2020-11-30 23:35:06 +08:00 via iPhone
    问个问题:如果用国内清华 tuna 或者中科大 ustc 镜像,是不是意味着不用走 github,直接从镜像下载 bottle 做更新?
    ShuoHui
        42
    ShuoHui  
       2020-12-01 09:16:30 +08:00 via iPhone
    我一直用 hk 的节点,没什么问题…
    MaxLi77
        43
    MaxLi77  
       2020-12-01 09:24:25 +08:00
    @GTD 巧了,我就是用的 hk 阿里云,这几天随便更新,控制台全局代理
    firethehole
        44
    firethehole  
       2020-12-01 10:59:25 +08:00
    昨天是 homebrew-core 不行,今天 homebrew-cask 不行
    firethehole
        45
    firethehole  
       2020-12-01 11:17:32 +08:00
    换了一个 aws 的香港节点,可以了
    treblex
        46
    treblex  
       2020-12-01 12:29:20 +08:00
    歪个楼请教一下,收费的私有源能不能搞,类似机场那种模式,现在大多都是公益的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1249 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:24 · PVG 02:24 · LAX 10:24 · JFK 13:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.