brew install 或 upgrade 下载缓慢时,手动下载安装包
摘要
brew install、brew upgrade下载很慢或中途断开时,可以自己把同一个安装包下完,放到 Homebrew 这次要读的缓存文件上,再重新执行原来的命令。下面用本机升级gh2.102.0 作例子。Homebrew7.0.8,缓存目录是~/Library/Caches/Homebrew。这次 GitHub 上的源码包下到一半就断了:curl: (18) Transferred a partial file。- 可以自己把同一个压缩包下完,再放到 Homebrew 这次要读的缓存文件上。放进去的必须是 formula 里那个 URL 的文件,SHA-256 也要一致。文件名以
brew --cache --build-from-source gh的输出为准,不能自己编哈希,也不能拷进$(brew --cellar)/gh。 gh2.102.0 在当前 API 里没有 bottle,所以这次下的就是源码包https://github.com/cli/cli/archive/refs/tags/v2.102.0.tar.gz,校验和是08bf0ef8b4409893889175e0f5279d30d6edd96465816042c0d7c72eac598158。本机缓存文件名是downloads/838ae966d01d820dbc2c41ab1f82d72064fe030ca19254fb2ff3aa993768b18d--cli-2.102.0.tar.gz。前半段是这条 URL 的 SHA-256,后半段来自下载响应里的文件名。- 校验通过后再执行原来的
brew upgrade gh或brew install gh。Homebrew 会接着做自己的校验和编译。缓存和 Cellar 的差别见 MacOS软件包管理器--brew。