zoukankan      html  css  js  c++  java
  • Godep的基本使用

    ###关于Godep 发现好多golang项目都使用到[godep](https://github.com/tools/godep)作为包管理的工具,像比较大型的项目,比如kubernetes这种,都是使用的是godep来进行依赖管理操作的了,小的项目貌似可以直接采用go install同时完成编译以及下载依赖的工作,但是大的项目可能不是这么方便,Godep就比较有必要了,看了一下有点像maven的感觉,这里记录一下基本的操作。

    首先是安装

    由于网络的问题,goget的时候有一个包会找不到,网上有好多替代的解决方案,比如说这个,注意一点,这个文章里面说的tools文件夹,指的是在GOPATH/src/github.com/golang 下面的文件夹,注意不要弄混了。

    基本的使用

    godep save

    比如说建立了一个基本的项目,就拿beego的示例项目来说。这里又一点要注意,没有使用版本控制的时候,go save是不成功的,会报类似如下的错误:

    godep: error while inspecting "/Users/Hessen/goworkspace/src/testBee/bapi": directory "/Users/Hessen/goworkspace/src" is not using a known version control system
    
    

    具体的原因这个文章讲解的比较详细。总是先要使用版本控制工具将整个项目初始化一下。之后 godev save 就可以看到在当前的目录下生成了Godeps的文件夹,里面有_workspace文件夹,存储着依赖包的源码,还有Godeps.json文件,具体描述了依赖关系。这里比较好的地方就是不用像maven那样自己去编辑对应的依赖包的描述文件,完全是根据版本控制工具自动生成的。

    godep restore

    restore 的操作和go save的操作是相反进行的,比如git 上一个使用godep的项目,pull下来之后,使用godep restore就可以把Godeps/Godeps.json中列出的依赖拷贝到本地的GOPATH下面。有一个问题要注意,如果之间已经有安装过相关的包,并且进行了一些修改,进行过一些pull,request的操作,可能会有一些git的相关错误。

    相关的介绍godep的博客

    http://tonybai.com/2014/10/30/a-hole-of-godep/

    http://studygolang.com/articles/2147

  • 相关阅读:
    Can we call an undeclared function in C++?
    Template Metaprogramming in C++
    Templates and Default Arguments
    Templates and Static variables in C++
    Default Assignment Operator and References
    Advanced C++ | Conversion Operators
    Use of explicit keyword in C++
    When should we write our own assignment operator in C++?
    Copy constructor vs assignment operator in C++
    VMWare关闭beep声
  • 原文地址:https://www.cnblogs.com/Goden/p/4597107.html
Copyright © 2011-2022 走看看