zoukankan      html  css  js  c++  java
  • brew 安装指定版本命令行工具 tmux 多版本实现

    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
  • 相关阅读:
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 344 反转字符串
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
  • 原文地址:https://www.cnblogs.com/kaiye/p/10756566.html
Copyright © 2011-2022 走看看