国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

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

2020-04-01 19:02:18
字體:
來源:轉載
供稿:網友

前言

go/58136.html">go get 用來動態獲取遠程代碼包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。這個命令在內部實際上分成了兩步操作:第一步是下載源碼包,第二步是執行go install。下載源碼包的go工具會自動根據不同的域名調用不同的源碼工具,對應關系如下:

  • BitBucket (Mercurial Git)
  • GitHub (Git)
  • Google Code Project Hosting (Git, Mercurial, Subversion)
  • Launchpad (Bazaar)

go get 的參數說明:

  • -d 只下載不安裝
  • -f 只有在你包含了-u參數的時候才有效,不讓-u去驗證import中的每一個都已經獲取了,這對于本地fork的包特別有用
  • -fix 在獲取源碼之后先運行fix,然后再去做其他的事情
  • -t 同時也下載需要為運行測試所需要的包
  • -u 強制使用網絡去更新包和它的依賴包
  • -v 顯示執行的命令

注意:這里的 –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/gogettestFetching https://gitee.com/jinq0123/gogettest?go-get=1Parsing 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 的登錄用戶名和密碼輸入框。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娱乐| 宝兴县| 喀喇沁旗| 鄂托克前旗| 布尔津县| 利川市| 安徽省| 永康市| 商南县| 连云港市| 大兴区| 乐清市| 达州市| 宾川县| 广元市| 东丽区| 平潭县| 昌邑市| 东明县| 福建省| 鄂尔多斯市| 法库县| 淅川县| 全南县| 仁布县| 武义县| 昆山市| 开封市| 成武县| 句容市| 灵宝市| 阳朔县| 英德市| 平南县| 永泰县| 梁河县| 什邡市| 德保县| 茂名市| 福海县| 土默特左旗|