Mik*_*ike 6 macos homebrew zsh oh-my-zsh
我想为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
如何在新的macOS版本上为旧版本创建自制瓶?
我已经在macOS Sierra上成功构建了一个zsh 5.1.1瓶子.方法如下:
首先,您需要从homebrew-core存储库下载所有提交,因为通过defaut它是一个浅的存储库(并非所有提交都存在).
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git fetch --unshallow
Run Code Online (Sandbox Code Playgroud)
然后,您必须选择zsh 5.1.1的最后一次提交
brew log zsh
Run Code Online (Sandbox Code Playgroud)
在这里,它是提交1a4461ad2a0f1bc7074d9817d,签出此提交的zsh公式
git checkout 1a4461ad2a0f1bc7074d9817d -- Formula/zsh.rb
Run Code Online (Sandbox Code Playgroud)
用.安装zsh --build-bottle
brew install --build-bottle zsh
Run Code Online (Sandbox Code Playgroud)
并建立瓶子
brew bottle zsh
Run Code Online (Sandbox Code Playgroud)
然后,您获取瓶文件 zsh-5.1.1.sierra.bottle.1.tar.gz
不要忘了恢复原来的状态zsh.rb与
git checkout -- Formula/zsh.rb
Run Code Online (Sandbox Code Playgroud)
要安装瓶子,只需将其复制,然后将其/usr/local/Cellar提取出来
tar xzvf zsh-5.1.1.sierra.bottle.1.tar.gz
Run Code Online (Sandbox Code Playgroud)
并将其链接
brew link zsh
Run Code Online (Sandbox Code Playgroud)
==编辑以回答OP评论==
官方自制瓶子存放在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瓶放在那里.
| 归档时间: |
|
| 查看次数: |
1660 次 |
| 最近记录: |