brew 安裝歷史版本軟件


背景

筆者在編譯安裝一個包時遇到編譯失敗,發現是一個依賴軟件的版本過高導致,因為依賴的軟件是通過 brew 安裝,於是查找了一些資料解決了通過 brew 安裝軟件歷史版本的問題。

解決

如果,軟件有提供對應版本,則可以直接通過安裝對應版本名稱進行安裝:

# 如搜索 node 
$ brew search node
==> Formulae
libbitcoin-node          node-build               node@12                  nodeenv
llnode                   node-sass                node_exporter            nodenv
node                     node@10                  nodebrew
==> Casks
nodebox                                           nodeclipse
# 如需要安裝 node 10
$ ~ brew install node@10

筆者所需要安裝的 libplist 2.0.0 版本,並沒有提供對應的版本,搜索出默認是最新的 2.2.0 版本

$ brew search libplist
==> Formulae
libplist ✔

所以只能通過以下的方法來解決。

1、列出軟件信息,找到 rb 安裝文件

要看的是 From 這里的安裝文件,因為筆者用的是國內中科大的鏡像源,這個地址不能直接打開,所以需要在 Github 上找到 Homebrew 的源的這個地址;(如果是其他源的 http 地址,查找到方式一樣,舉一反三)

根據地址的規則,筆者要在 Github 打開的 url 是

https://github.com/Homebrew/homebrew-core/blob/master/Formula/libplist.rb

打開這個 url 便能看到 libplist 的安裝信息了。

2、找到歷史版本的 rb 文件進行安裝
把這個庫克隆下來,並找出 libplist 的提交記錄

# 克隆本機的 homebrew 源即可
$ git clone git://mirrors.ustc.edu.cn/homebrew-core.git
$ cd homebrew-core
$ git log master -- Formula/libplist.rb

因為筆者要安裝的是 2.0.0 版本,所以需要找到這個版本的提交信息。

根據 commit 信息,在 Github 中根據 url 找到這個版本的 rb 文件地址為

https://github.com/Homebrew/homebrew-core/blob/4891fbc1977d69a016f6602f9f7526b3458141b1/Formula/libplist.rb

確實是 2.0.0 的版本了
3、brew 安裝此舊版本

$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/4891fbc1977d69a016f6602f9f7526b3458141b1/Formula/libplist.rb

后記

安裝完舊版本的依賴之后,編譯工作得以繼續執行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM