佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 利用dep代替go get獲取私有庫(kù)的方法教程

利用dep代替go get獲取私有庫(kù)的方法教程

熱門標(biāo)簽:地方門戶網(wǎng)站 AI電銷 呼叫中心市場(chǎng)需求 網(wǎng)站排名優(yōu)化 百度競(jìng)價(jià)排名 鐵路電話系統(tǒng) 服務(wù)外包 Linux服務(wù)器

前言

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ò)去更新包和它的依賴包
  • -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ù)

https://github.com/golang/dep

安裝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 的登錄用戶名和密碼輸入框。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • Golang執(zhí)行g(shù)o get私有庫(kù)提示"410 Gone" 的問(wèn)題及解決辦法
  • 解決go mod私有倉(cāng)庫(kù)拉取的問(wèn)題
  • 完美解決golang go get私有倉(cāng)庫(kù)的問(wèn)題
  • golang實(shí)踐-第三方包為私有庫(kù)的配置方案

標(biāo)簽:衡水 仙桃 蘭州 湖南 崇左 銅川 湘潭 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用dep代替go get獲取私有庫(kù)的方法教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    高唐县| 德阳市| 七台河市| 哈密市| 泾川县| 铜鼓县| 甘南县| 三江| 胶州市| 阿拉尔市| 华安县| 乐业县| 怀来县| 商水县| 易门县| 本溪| 新绛县| 广宁县| 大名县| 马山县| 山丹县| 文水县| 和龙市| 金平| 儋州市| 景德镇市| 湖口县| 嫩江县| 武邑县| 三穗县| 泉州市| 宁海县| 乌拉特中旗| 太和县| 启东市| 手游| 崇明县| 江西省| 醴陵市| 凤凰县| 兖州市|