• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    利用dep代替go get获取私有库的方法教程

    前言

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

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • Golang执行go get私有库提示"410 Gone" 的问题及解决办法
    • 解决go mod私有仓库拉取的问题
    • 完美解决golang go get私有仓库的问题
    • golang实践-第三方包为私有库的配置方案
    上一篇:详解Go中Map类型和Slice类型的传递
    下一篇:用Go+Vue.js快速搭建一个Web应用(初级demo)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    利用dep代替go get获取私有库的方法教程 利用,dep,代替,get,获取,私有,