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