golang包管理工具dep使用简明攻略

栏目: Go · 发布时间: 6年前

内容简介:go get -u github.com/golang/dep/cmd/dep因为有墙,所以使用之前请先设置命令行代理,梯子自备

安装

dep需要golang版本在1.9以上

go get -u github.com/golang/dep/cmd/dep

dep工作流

因为有墙,所以使用之前请先设置命令行代理,梯子自备

export {http,https}_proxy='127.0.0.1:1080'
  • 新建项目
// 项目需要创建在gopath下
    cd $GOPATH/src
    mkdir my-project
    dep init -v
  • dep init 新项目或还未使用包管理的项目初始化

    init会分析 go 文件中import的包并安装,将依赖信息写入Gopkg.toml文件,安装的revision写入Gopkg.lock文件

  • dep ensure 同步依赖包 一个命令可以完成包的安装缺失的包、卸载无用的包,使代码中的import、lock文件、vendor中的包保持同步
  • Gopkg.toml这个文件主要是用来人工修改的,可以添加一些限制条件,Gopkg.lock才是真正的版本信息
  • dep ensure -add [package name] 安装指定包
  • dep ensure -update [package name] 更新指定包
  • dep ensure -update 更新所有包
  • dep status 查看同步状态

详细玩法请移步 dep官方文档

旧项目改造

  1. 进入项目根目录运行dep init -gopath -v

    解释一下常用参数:

    -gopath 从本地的gopath获取包版本

    -v verbose

    -skip-tools dep会自动从之前的包管理文件中加载版本信息,如govendor,glide等。如果你不想从之前的包管理迁移可以加上此参数

  2. 将Gopkg.toml和Gopkg.lock提交到git
  3. 之后安装新的依赖使用dep ensure -add [package name]来安装
  4. 在新环境拿到项目后使用dep ensure -v即可安装依赖

使用dep可能存在的坑

  • 墙很烦,请务必设置命令行代理
  • 使用dep时尽量带上 -v 命令,如果半分钟没响应就ctrl+c中断,就可以看到fail的原因,dep遇到一些错误不会自己退出
  • 私有库的问题,比如gitlab上的,参考这篇文章 https://segmentfault.com/a/11... 。经测试,其实也不用在toml里写密码,只要你在电脑上git设置了保存密码或者配置了ssh。简单来说就是直接用git clone不需要输入密码确认之类的就能用dep down下来了

这是之前整理的dep使用攻略,随着golang1.11发布,gomod已经上线,以后应该会迁移到gomod。不过目前gomod还不成熟,很多项目也没有激进的升级到1.11版本,dep还有用武之地。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

劫持

劫持

玛丽•K. 斯温格尔(Mari K. Swingle) / 邓思渊 / 中信出版集团股份有限公司 / 2018-5-1 / CNY 59.00

《劫持》是一本探讨人与科技的关系的书,基于一位心理学博士20年的临床经验及其作为神经认知科学研究者的脑—电研究成果。在这本面向大众的科普书中,作者以深入浅出的方式,探讨了手机、电脑等便携式数字设备及让人“永不下线”的互联网对现代人尤其是青少年大脑的影响,从神经认知科学和精神分析的角度,有力地证明了数字媒介与大脑和人类行为的关系,探讨了手机等如何对人的大脑进行劫持或操控,并给出了自己作为从业医师的实......一起来看看 《劫持》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换