Homebrew 安裝舊版軟體的方法 (以OpenCV C++為例)
對於 OpenCV C++ 的重度使用者來說,每次 OpenCV C++ 的更新雖然帶來一些新功能但是卻也帶來一些Bug或相容性的問題,早年安裝 OpenCV C++ 都是採用原始碼編譯三步驟(cmake, make, make install)來安裝。
但是隨著 DNN 功能的加入,OpenCV C++ 越來越肥且相依的軟體也越來越多,簡單的編譯三步驟通常不會成功要花許多時間來解決,而官網沒有提供 macOS 版可以直接使用的已編譯包,改用 Homebrew 來安裝確實方便許多,也可以確保相依軟件的版號的正確性。
然而就在新的一年,在下了更新指令 (brew update && brew upgrade) 後,雖然原本的 opencv@4.6 自動升級為 opencv@4.7 了,而原本的 opencv@4.6 卻被自動移除了,因此趕快測試一下手上有關於 DNN 的專案竟然都不能用了,而用 brew search 查詢 opencv@4.6 也從官網支援版號中移除而無法直接安裝了,由於手上有 DNN 專案正在進行中 根本沒有時間來慢慢找問題,所以只好想辦法再多安裝一個 opencv@4.6,記錄方法如下:
brew search opencv
查詢可用版本已經沒有 opencv@4.6 ,且 brew install opencv@4.6 也確定無法安裝了,
brew info opencv
從 info 訊息可以找到 opencv.rb 所在的網址如下:
https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/opencv.rb
開啟上方網址網頁
按 『History』
找到欲安裝的版本 『opencv: update 4.6.0_1 bottle.』 點進去
按 『…』->『View file』
按 『Raw』後下載存檔這個 opencv.rb 檔案
再執行安裝:
brew install opencv.rb
即可多安裝一個舊版 OpenCV C++,此時 opencv@4.6、opencv@4.7 已同時存在,如此就可以等有空閒時再來慢慢解決手上的 DNN 專案與 OpenCV C++ 4.7 不相容的問題了!