用dep代替 go get 来获取私有库

jq0123 · · 1172 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

dep 代替 go get 来获取私有库

(金庆的专栏 2017.11)

go get 功能比较弱,无法获取分支,标签,特定版本,fork, 而 dep 可以做到。dep 还可以获取私有库。

用 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.tomlGopkg.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 的登录用户名和密码输入框。

本文来自:CSDN博客

感谢作者:jq0123

查看原文:用dep代替 go get 来获取私有库

1172 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传