利用dep代替go get獲取私有庫(kù)的方法教程
前言
go get 用來(lái)動(dòng)態(tài)獲取遠(yuǎn)程代碼包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。這個(gè)命令在內(nèi)部實(shí)際上分成了兩步操作:第一步是下載源碼包,第二步是執(zhí)行g(shù)o install。下載源碼包的go工具會(huì)自動(dòng)根據(jù)不同的域名調(diào)用不同的源碼工具,對(duì)應(yīng)關(guān)系如下:
- BitBucket (Mercurial Git)
- GitHub (Git)
- Google Code Project Hosting (Git, Mercurial, Subversion)
- Launchpad (Bazaar)
go get 的參數(shù)說(shuō)明:
- -d 只下載不安裝
- -f 只有在你包含了-u參數(shù)的時(shí)候才有效,不讓-u去驗(yàn)證import中的每一個(gè)都已經(jīng)獲取了,這對(duì)于本地fork的包特別有用
- -fix 在獲取源碼之后先運(yùn)行fix,然后再去做其他的事情
- -t 同時(shí)也下載需要為運(yùn)行測(cè)試所需要的包
- -u 強(qiáng)制使用網(wǎng)絡(luò)去更新包和它的依賴(lài)包
- -v 顯示執(zhí)行的命令
注意:這里的 –v 參數(shù)對(duì)我們分析問(wèn)題很有幫助。
但用過(guò)的人都知道,go get 功能比較弱,無(wú)法獲取分支,標(biāo)簽,特定版本,fork, 而 dep 可以做到。dep 還可以獲取私有庫(kù)。
用 dep 代替 go get 來(lái)獲取私有庫(kù)
用 gitee.com 私有庫(kù)作測(cè)試。創(chuàng)建 gogettest 庫(kù)。
可用:
go get -u gitee.com/jinq0123/gogettest
如果改為私有庫(kù)則失?。?/p>
λ 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 工具取私有庫(kù)
安裝dep
go get -u github.com/golang/dep/cmd/dep
初始化
在項(xiàng)目目錄下運(yùn)行:
dep init
生成 Gopkg.toml 和 Gopkg.lock
添加強(qiáng)制(constraint)
在 Gopkg.toml 中添加:
[[constraint]] branch = "master" name = "gitee.com/jinq012345/gogettest" source = https://gitee.com/jinq0123/gogettest.git
source 強(qiáng)制使用 https 來(lái)獲取 gotgettest 庫(kù)。
注意庫(kù)名改成了 jinq012345, 這樣導(dǎo)入:
imort "gitee.com/jinq012345/gogettest"
name和source的設(shè)置可支持從 fork 庫(kù)獲取。
獲取gogettest庫(kù)
dep ensure
會(huì)彈出 https 的登錄用戶(hù)名和密碼輸入框。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Golang使用Gin框架實(shí)現(xiàn)路由分類(lèi)處理請(qǐng)求流程詳解
Gin是一個(gè)golang的微框架,封裝比較優(yōu)雅,具有快速靈活,容錯(cuò)方便等特點(diǎn),這篇文章主要介紹了Golang使用Gin框架實(shí)現(xiàn)路由分類(lèi)處理請(qǐng)求,感興趣的同學(xué)可以參考下文2023-05-05
GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法
這篇文章主要介紹了GO語(yǔ)言獲取系統(tǒng)環(huán)境變量的方法,實(shí)例分析了Getenv方法操作環(huán)境變量的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
go語(yǔ)言用八百行代碼實(shí)現(xiàn)一個(gè)JSON解析器
這篇文章主要為大家介紹了go語(yǔ)言用八百行代碼實(shí)現(xiàn)一個(gè)JSON解析器實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Go結(jié)合MQTT實(shí)現(xiàn)通信的示例代碼
本文主要介紹了Go結(jié)合MQTT實(shí)現(xiàn)通信的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Go?http.Transport?主要參數(shù)說(shuō)明
這篇文章主要為大家介紹了Go?http.Transport主要參數(shù)說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
gin正確多次讀取http?request?body內(nèi)容實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了gin正確多次讀取http?request?body內(nèi)容實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

