gpt4 book ai didi

macos - 如何在新的 macOS 版本上为旧版本创建 Homebrew 瓶?

转载 作者:行者123 更新时间:2023-12-04 14:55:59 25 4
gpt4 key购买 nike

我想为 Sierra 创建一瓶 zsh 5.1.1,因为 zsh 5.2 有一个非常糟糕的错误,它破坏了某些功能。

Sierra 附带 zsh 5.2,它在多字节绑定(bind)键击中被破坏(参见:http://www.zsh.org/mla/users/2015/msg01400.html)。我已经设法在一台机器上从源代码构建 5.1.1,但是为了更广泛地分发,在新版本的 zsh 发布之前,一瓶 zsh 5.1.1 的 Sierra 瓶会好得多。

该错误不仅阻止了 utf-8 多字节 ascii 字符的绑定(bind)(我使用了很多 Option 键组合),而且如果其他字符具有相同的初始字节,则它们甚至无法被输入。

我认为这是错误出现之前 zsh 配方的最后一个版本:https://github.com/Homebrew/homebrew-core/blob/1a4461ad2a0f1bc7074d9817db059147a31eeee6/Formula/zsh.rb

最佳答案

How do I create homebrew bottle for old version on a new macOS version?



我已经在 macOS Sierra 上成功构建了一个 zsh 5.1.1 的瓶子。方法如下:

首先,您需要从 homebrew-core 存储库下载所有提交,因为默认情况下它是一个浅存储库(并非所有提交都存在)。
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git fetch --unshallow

然后,您必须选择 zsh 5.1.1 的最后一次提交
brew log zsh

这里是提交 1a4461ad2a0f1bc7074d9817d ,检查此提交的 zsh 公式
git checkout 1a4461ad2a0f1bc7074d9817d -- Formula/zsh.rb

使用 --build-bottle 安装 zsh
brew install --build-bottle zsh

build 瓶子
brew bottle zsh

然后获得瓶子文件 zsh-5.1.1.sierra.bottle.1.tar.gz
不要忘记恢复 zsh.rb的原始状态和
git checkout -- Formula/zsh.rb

要安装瓶子,只需将其复制到 /usr/local/Cellar , 提取它
tar xzvf zsh-5.1.1.sierra.bottle.1.tar.gz 

并将其与
brew link zsh

== 编辑以回答 OP 评论 ==

官方 Homebrew 瓶存储在 bintray.com 中。 Bintray 是一个带有 REST api 的分发平台。当您启动 brew install ,它首先检查那里是否有瓶子。 zsh 5.1.1 的瓶子存储在: https://bintray.com/homebrew/bottles/zsh/5.1.1#files .如您所见,有一个适用于 yosemite、mavericks 和 el capitan 的版本,但没有适用于 sierra 的版本。您可以在 github 上要求将 zsh-5.1.1 sierra 瓶放在那里。

关于macos - 如何在新的 macOS 版本上为旧版本创建 Homebrew 瓶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40434367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com