Golang包管理Vendor以及第三方管理工具govendor简单教程

Golang 官方并没有推荐最佳的包管理方案。到了1.5版本时代,官方引入包管理的设计,加了 vendor 目录来支持本地包管理依赖。

官方 wiki 推荐了多种支持这种特性的包管理工具,如:Godep、gv、gvt、glide、govendor等。

我们暂时不使用第三方管理工具来使用Vendor包管理

我们在项目中创建vendor 文件夹,然后将依赖的第三方库拷贝复制到该文件夹下即可。(此刻是没有vendor.json文件的。在使用第三方包管理工具时才会有该文件)这样我们使用的vendor 文件夹下的文件库,如果该文件夹没有需要依赖的文件库则使用GOPATH下的第三方文件库。

简单来说,vendor 的原理就是

在执行 go build 或 go run 命令时,会首先去判断 vendor 是否存在,以及是否存在依赖的第三方库文件,如果满足则使用之;否则,就走原来的流程去获取第三方库文件到 $GOPATH/src/ 目录下。

 

使用第三方包管理工具govendor

govendor可以将将项目依赖的外部包拷贝到项目下的 vendor 目录下,并通过 vendor.json 文件来记录依赖包的版本

对于 govendor 来说,主要存在三种位置的包:项目自身的包组织为本地(local)包;传统的存放在 $GOPATH 下的依赖包为外部(external)依赖包;被 govendor 管理的放在 vendor 目录下的依赖包则为 vendor 包。

  1. 安装
    go get –u github.com/kardianos/govendor

     

  2. 测试
    cmd中执行govendor命令

     

  3. 初始化
    在项目中执行govendor init 命令 创建vendor文件夹和vendor.js文件

     

  4. 将依赖的包添加到vendor文件夹,并记录版本号
    govendor add +external
    或者简写为 govendor add +e
    

     

 

更多命令

       https://github.com/kardianos/govendor

 

你可能感兴趣的:(Golang包管理Vendor以及第三方管理工具govendor简单教程)