如何安装为不同(以前)版本的 macOS 设计的 Homebrew 瓶
How can I install a Homebrew bottle designed for a different (previous) version of macOS
自从删除 Homebrew 中的 versions
命令和点击后,我一直无法找到安装以前版本软件的方法。我在 2008 Mac Pro (3,1) 上 运行ning macOS 10.14.3 (Mojave)。我已经 运行 进入一两个 Homebrew 软件包,假设我有一个 Nehalem 处理器,但我的 Penryn Xeon 不支持某些指令。
经过一些故障排除后,我被告知安装以前版本的 bottle,但我找不到任何关于如何指定 bottle 版本的说明或文档。有没有办法从 Homebrew 中指定瓶装版本?最好是允许我将来使用 brew update
的那个?当前的 brew install foo --build-bottle --build-arch=core2
方法在其他人已经构建了合适的瓶子时并不是很理想。
就我而言,我正在尝试通过 Github 构建机器在 MacOS 10.15 (Catalina) 上进行构建,我想强制安装 10.14 (Mojave) bottles 这样我就可以 link 反对早期操作系统的 SDL2。
我能够从 bintray 下载特定的 bottle 文件并手动安装。
curl -L https://bintray.com/homebrew/bottles/download_file?file_path=sdl2-2.0.10.mojave.bottle.tar.gz -o sdl2-2.0.10.mojave.bottle.tar.gz
brew install -f sdl2-2.0.10.mojave.bottle.tar.gz
它不漂亮,不幸的是对软件版本进行了硬编码。我很想知道是否有办法告诉 brew "just use Mojave (or whatever OS) bottles if possible"。
自 2021 年起,BinTray 已关闭,瓶子现在存储为 GitHub 个包裹。
您可以使用以下 cURL 调用下载这些文件:
curl -L -H "Authorization: Bearer QQ==" -o x.tar.gz https://ghcr.io/v2/homebrew/core/NAME/blobs/sha256:HASH
...将 NAME
替换为您要下载的瓶子的包名称,并将 HASH
替换为您想要的瓶子的 SHA-256 标识符。
散列可以在包的公式文件中找到,在 bottle
块内。每个 OS 和架构都有不同的哈希值:
class Gettext < Formula
# ...
bottle do
sha256 arm64_monterey: "6e2c829031949c0cbd758d0701ed62c191387736e76a98a046c0619907632225"
sha256 arm64_big_sur: "339b62b52ba86dfa73091d37341104b46c01ae354ca425000732df689305442b"
sha256 monterey: "0e93b5264879cd5ece6efb644fd6320b0b96cce36de3901c1926e53f851d14c7"
sha256 big_sur: "a025e143fe3f5f7e24a936b8b0a4926acfdd025b11d62024e3d355c106536d56"
sha256 catalina: "cdea54f52b7c36ebcb5fe26a1cf736d7cd6fd5f2fd016dd8357a8624ffd6b5f8"
sha256 mojave: "99707d4dcc731faf980333365a694e9500f2f012f84c0bcb6d8cb5d620c2ce08"
sha256 high_sierra: "5ac5783e31205b92907b46bfaaa142620aea7ee3fc4d996876b0913fd2315695"
sha256 x86_64_linux: "33f840e667c6ee0f674adb279e644ca4a1b3cd1606894c85d9bbce1b5acc0273"
end
# ...
end
自从删除 Homebrew 中的 versions
命令和点击后,我一直无法找到安装以前版本软件的方法。我在 2008 Mac Pro (3,1) 上 运行ning macOS 10.14.3 (Mojave)。我已经 运行 进入一两个 Homebrew 软件包,假设我有一个 Nehalem 处理器,但我的 Penryn Xeon 不支持某些指令。
经过一些故障排除后,我被告知安装以前版本的 bottle,但我找不到任何关于如何指定 bottle 版本的说明或文档。有没有办法从 Homebrew 中指定瓶装版本?最好是允许我将来使用 brew update
的那个?当前的 brew install foo --build-bottle --build-arch=core2
方法在其他人已经构建了合适的瓶子时并不是很理想。
就我而言,我正在尝试通过 Github 构建机器在 MacOS 10.15 (Catalina) 上进行构建,我想强制安装 10.14 (Mojave) bottles 这样我就可以 link 反对早期操作系统的 SDL2。
我能够从 bintray 下载特定的 bottle 文件并手动安装。
curl -L https://bintray.com/homebrew/bottles/download_file?file_path=sdl2-2.0.10.mojave.bottle.tar.gz -o sdl2-2.0.10.mojave.bottle.tar.gz
brew install -f sdl2-2.0.10.mojave.bottle.tar.gz
它不漂亮,不幸的是对软件版本进行了硬编码。我很想知道是否有办法告诉 brew "just use Mojave (or whatever OS) bottles if possible"。
自 2021 年起,BinTray 已关闭,瓶子现在存储为 GitHub 个包裹。
您可以使用以下 cURL 调用下载这些文件:
curl -L -H "Authorization: Bearer QQ==" -o x.tar.gz https://ghcr.io/v2/homebrew/core/NAME/blobs/sha256:HASH
...将 NAME
替换为您要下载的瓶子的包名称,并将 HASH
替换为您想要的瓶子的 SHA-256 标识符。
散列可以在包的公式文件中找到,在 bottle
块内。每个 OS 和架构都有不同的哈希值:
class Gettext < Formula
# ...
bottle do
sha256 arm64_monterey: "6e2c829031949c0cbd758d0701ed62c191387736e76a98a046c0619907632225"
sha256 arm64_big_sur: "339b62b52ba86dfa73091d37341104b46c01ae354ca425000732df689305442b"
sha256 monterey: "0e93b5264879cd5ece6efb644fd6320b0b96cce36de3901c1926e53f851d14c7"
sha256 big_sur: "a025e143fe3f5f7e24a936b8b0a4926acfdd025b11d62024e3d355c106536d56"
sha256 catalina: "cdea54f52b7c36ebcb5fe26a1cf736d7cd6fd5f2fd016dd8357a8624ffd6b5f8"
sha256 mojave: "99707d4dcc731faf980333365a694e9500f2f012f84c0bcb6d8cb5d620c2ce08"
sha256 high_sierra: "5ac5783e31205b92907b46bfaaa142620aea7ee3fc4d996876b0913fd2315695"
sha256 x86_64_linux: "33f840e667c6ee0f674adb279e644ca4a1b3cd1606894c85d9bbce1b5acc0273"
end
# ...
end