首頁 > 軟體

brew 安裝指定版本命令列工具 tmux 多版本實現

2020-06-16 16:35:25

Homebrew 是 macOS 命令安裝工具,其核心庫裡的命令列在 github homebrew-core 倉庫上維護。

核心庫命令大概有 5000 條左右,大部分的命令列工具只保留了最新版本的 .rb 安裝指令碼。因此,如果想通過 brew 安裝指定版本或命令的多個版本,需要借助 git 操作來實現。

接下來以同時安裝 tmux 最新版本和 2.4 版本為例進行說明:

1、安裝最新版 tmux

brew install tmux
tmux -V

安裝完成後執行 tmux -V 檢視到當前最新版本為 tmux 2.8

2、查詢 tmux 2.4 指定版本的 commit hash

下載 homebrew-core 至本地,查詢 tmux.rb 提交歷史中 2.4 版本的 commit hash

git clone https://github.com/Homebrew/homebrew-core.git
cd homebrew-core
git log master --grep=2.4 Formula/tmux.rb

版本庫比較大,查詢一段時間後,命令列輸出以下內容:

commit 04c280961f568c8fcd25aa35d58834e016ccbd64
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Thu Apr 20 13:27:39 2017 +0100

    tmux: update 2.4 bottle.

commit 2d2034afc6e4dfab0a1c48f5edd2c5478576293b
Author: ilovezfs <ilovezfs@icloud.com>
Date:   Thu Apr 20 05:22:28 2017 -0700

    tmux 2.4

    Closes #12673.

    Signed-off-by: ilovezfs <ilovezfs@icloud.com>
(END)

由此可知,tmux 2.4 版本的 commit hash 為 04c280961f568c8fcd25aa35d58834e016ccbd64

3、切換 git 指定分支使用本地指令碼安裝 tmux

由於已經安裝過最新版 tmux 了,執行以下命令可以臨時刪除環境變數裡的 alias 軟鏈

brew unlink tmux

在原生的 homebrew-core 目錄中,切換 git 至指定分支,並使用本地相對路徑,安裝需要的命令列工具。

git checkout 04c280961f568c8fcd25aa35d58834e016ccbd64
brew install ./Formula/tmux.rb

4、切換至任意版本的 tmux

安裝完成後,可以通過 ls 看到同時安裝了 2.4 和 2.8 兩個版本

ls /usr/local/Cellar/tmux

之後使用 brew switch 命令即可在多個不同版本之間進行切換

brew switch tmux 2.8
brew switch tmux 2.4

IT145.com E-mail:sddin#qq.com