首页 文章

如何在新的macOS版本上为旧版本创建自制瓶?

提问于
浏览
5

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

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

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

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

1 回答

  • 5

    如何在新的macOS版本上为旧版本创建自制瓶?

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

    首先,您需要从homebrew-core存储库下载所有提交,因为通过defaut它是一个浅的存储库(并非所有提交都存在) .

    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
    

    You then obtain the bottle file 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
    

    == Edit to answer the OP comment ==

    官方自制瓶子存放在bintray.com . Bintray是一个使用REST api的分发平台 . 当您启动 brew install 时,它首先检查那里是否有瓶子 . zsh 5.1.1瓶存储在:https://bintray.com/homebrew/bottles/zsh/5.1.1#files . 正如你所看到的,有一个优胜美地,小牛和el capitan的版本,但没有版本的山脉 . 您可以在github上询问将zsh-5.1.1 sierra瓶放在那里 .

相关问题