go下載安裝指定版本的包


go下載安裝指定版本的包

背景

跑集成測試的時候,需要在機器上拉取一個依賴庫github.com/onsi/gomega, 之前一直用go get github.com/onsi/gomega/...來拉取安裝,沒有問題,
直到有次報錯"src/github.com/onsi/gomega/matchers/match_error_matcher.go:28:52: undefined: errors.Is"。
分析原因可以知道這個go get 每次默認是拉取最新的包去編譯安裝,剛好這個包幾天前有更新,更新后的版本有問題,導致編譯不過,所以穩妥起見,還是一直指定拉取一個穩定的版本比較靠譜。
我們的項目里沒有使用 go mod, 於是借助於go get 和 go install 來實現,中間通過git checkout來切換到指定版本

實現方式

以github.com/onsi/gomega這個包為例

  1. go get -d -v github.com/onsi/gomega/...
    只是拉取純拉取該包,-d代表只拉取,不編譯安裝; -v表示顯示詳情; 包路徑最后的...表示拉取該包的子包(依賴)
  2. git checkout v1.10.4
    切換到需要的穩定版本
  3. go install -a -v github.com/onsi/gomega/...
    編譯安裝,-a 代表強制編譯安裝(即使已經存在最新的安裝包)


免責聲明!

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



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