如何安装专为不同(以前)版本的 macOS 设计的 Homebrew 瓶

Dus*_*ler 3 homebrew

自从删除versions命令并在 Homebrew 中点击后,我一直无法找到安装以前版本软件的方法。我在 2008 Mac Pro (3,1) 上运行 macOS 10.14.3 (Mojave)。我遇到了一两个假设我有 Nehalem 处理器的 Homebrew 软件包,但我的 Penryn Xeon 不支持某些指令。

经过一些故障排除后,我被告知要安装瓶子的先前版本,但我找不到有关如何指定瓶子版本的任何说明或文档。有没有办法从 Homebrew 内部指定瓶装版本?最好是一个能让我brew update在未来使用的?brew install foo --build-bottle --build-arch=core2当其他人已经构建了一个合适的瓶子时,当前的方法并不是很理想。

Aar*_*sen 8

截至 2021 年,BinTray 已关闭,瓶子现在改为 GitHub 包存储。

您可以使用以下 cURL 调用下载这些内容:

curl -L -H "Authorization: Bearer QQ==" -o x.tar.gz https://ghcr.io/v2/homebrew/core/NAME/blobs/sha256:HASH
Run Code Online (Sandbox Code Playgroud)

...替换NAME为您要下载其瓶子的包的名称,以及HASH您想要的瓶子的 SHA-256 标识符。

可以在块内包的公式文件中找到哈希值bottle。每个操作系统和架构都有不同的哈希值:

curl -L -H "Authorization: Bearer QQ==" -o x.tar.gz https://ghcr.io/v2/homebrew/core/NAME/blobs/sha256:HASH
Run Code Online (Sandbox Code Playgroud)


dig*_*rok 5

就我而言,我正在尝试通过 Github 构建机器在 MacOS 10.15(Catalina)上构建,并且我想强制安装 10.14(Mojave)瓶子,以便我可以链接到早期操作系统的 SDL2。

我能够从 bintray 下载特定的瓶子文件并手动安装。

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
Run Code Online (Sandbox Code Playgroud)

它不漂亮,不幸的是硬编码软件版本。我很想知道是否有办法告诉 brew “如果可能,只使用 Mojave(或任何操作系统)瓶”。