您好,登錄后才能下訂單哦!
前言
go get 用來動態獲取遠程代碼包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。這個命令在內部實際上分成了兩步操作:第一步是下載源碼包,第二步是執行go install。下載源碼包的go工具會自動根據不同的域名調用不同的源碼工具,對應關系如下:
go get 的參數說明:
注意:這里的 –v 參數對我們分析問題很有幫助。
但用過的人都知道,go get 功能比較弱,無法獲取分支,標簽,特定版本,fork, 而 dep 可以做到。dep 還可以獲取私有庫。
用 dep 代替 go get 來獲取私有庫
用 gitee.com 私有庫作測試。創建 gogettest 庫。
可用:
go get -u gitee.com/jinq0123/gogettest
如果改為私有庫則失敗:
λ go get -v gitee.com/jinq0123/gogettest Fetching https://gitee.com/jinq0123/gogettest?go-get=1 Parsing meta tags from https://gitee.com/jinq0123/gogettest?go-get=1 (status code 403) package gitee.com/jinq0123/gogettest: unrecognized import path "gitee.com/jinq0123/gogettest" (parse https://gitee.com/jinq0123/gogettest?go-get=1: no go-import meta tags ())
利用 dep 工具取私有庫
https://github.com/golang/dep
安裝dep
go get -u github.com/golang/dep/cmd/dep
初始化
在項目目錄下運行:
dep init
生成 Gopkg.toml 和 Gopkg.lock
添加強制(constraint)
在 Gopkg.toml 中添加:
[[constraint]] branch = "master" name = "gitee.com/jinq012345/gogettest" source = https://gitee.com/jinq0123/gogettest.git
source 強制使用 https 來獲取 gotgettest 庫。
注意庫名改成了 jinq012345, 這樣導入:
imort "gitee.com/jinq012345/gogettest"
name和source的設置可支持從 fork 庫獲取。
獲取gogettest庫
dep ensure
會彈出 https 的登錄用戶名和密碼輸入框。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。