2021-05-12 14:32:11
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
相關文章