Golang 官方并没有推荐最佳的包管理方案。到了1.5版本时代,官方引入包管理的设计,加了 vendor 目录来支持本地包管理依赖。官方 wiki 推荐了多种支持这种特性的包管理工具,如:Godep、gv、gvt、glide、govendor等。即使使用vendor,也必须在GOPATH中。

查找依赖包路径的顺序

  • 当前包下的vendor目录。
  • 向上级目录查找,直到找到src下的vendor目录。
  • 在GOPATH下面查找依赖包。
  • 在GOROOT目录下查找

包管理工具govendor

需要把 $GOPATH/bin/ 加到 PATH 中。

安装

go get -u github.com/kardianos/govendor

命令

init     创建 vendor 文件夹和 vendor.json 文件
list     列出已经存在的依赖包
add      从 $GOPATH 中添加依赖包,会加到 vendor.json
update   从 $GOPATH 升级依赖包
remove   从 vendor 文件夹删除依赖
status   列出本地丢失的、过期的和修改的package
fetch   从远端库增加新的,或者更新 vendor 文件中的依赖包
sync     Pull packages into vendor folder from remote repository with revisions
migrate  Move packages from a legacy tool to the vendor folder with metadata.
get     类似 go get,但是会把依赖包拷贝到 vendor 目录
license  List discovered licenses for the given status or import paths.
shell    Run a "shell" to make multiple sub-commands more efficient for large projects.go tool commands that are wrapped:`+<status>` package selection may be used with themfmt, build, install, clean, test, vet, generate, tool

golang vendor目录相关推荐

  1. golang 引入外部包的三种方式:go get, go module, vendor目录

    import "github.com/astaxie/beego" 编译出错解决方案: go get:确保你的GOPATH是工程目录,代码在src目录下,然后在命令提示符中输入:g ...

  2. linux go vendor目录,Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  3. golang vendor介绍

    vendor 简介 vendor是golang的一个包管理器.开启包管理器,需要一个环境变量的支持,且golang sdk 版本必须大于1.5 export GO15VENDOREXPERIMENT= ...

  4. go引入外部依赖的三种方式:go get,go module,vendor目录

    本文转载自golang 引入外部包的三种方式:go get, go module, vendor目录_guoguolifang的博客-CSDN博客_golang 外部包 import  "g ...

  5. 关于laravel发布到github'丢失'vendor目录或其他文件的解决

    知道没人喜欢啰嗦,直接上解决方案再说说我的'遭遇': 解决vendor缺失的问题: 从github上clone代码后,切换到项目根目录,在powershell中运行composer install,这 ...

  6. php vendor 删除,yii2我删除了vendor目录,然后重新composer install composer update就不行了。。。...

    是酱紫的,我把vendor的整个目录都删除了,然后重新执行了 composer install -o --prefer-dist && composer update -o --pre ...

  7. Golang获取目录下的文件及目录信息

    一.获取当前目录下的文件或目录信息(不包含多级子目录) func main() {pwd,_ := os.Getwd()//获取文件或目录相关信息fileInfoList,err := ioutil. ...

  8. golang 判断目录是否为空

    实例: package mainimport ("fmt""io/ioutil" )func main() {dirname := "/root/te ...

  9. Golang读取目录文件

    为什么80%的码农都做不了架构师?>>>    package main import("fmt""io/ioutil" ) func mai ...

  10. golang编译之vendor机制

    原文地址:golang编译之vendor机制 Go 1.5引入了vendor 机制,但是需要手动设置环境变量 GO15VENDOREXPERIMENT= 1,Go编译器才能启用.从Go1.6起,,默认 ...

最新文章

  1. 第三届中国云计算用户大会笔记和心得
  2. 如何从三流程序员成长为一名年薪50W的架构师(文末附送学习资料)
  3. 峰Redis学习(8)Redis 持久化AOF方式
  4. Spring使用注解@Transactional事物手动回滚
  5. 在每个运行中运行多个查询_Spring Data JPA的运行原理及几种查询方式
  6. windows date格式
  7. 【十五】Jmeter:“CSV 数据文件设置”参数化请求中出现带有空格的参数值
  8. java 图像渲染_对具有大量图像的视图执行本机渲染性能
  9. 价值5000元的报表分享
  10. 实例化Spring容器的两种常用方式
  11. 学生选课管理系统(Java)
  12. vibe算法 c++实现
  13. java dateutil 获取时间戳_java获取时间戳的方法
  14. 计算机cpu 显卡的作用是什么,显卡的作用是什么 显卡简介【图文详解】
  15. 如何卸载当前最新版的奇某信天擎?
  16. 猿人时代java_猿人时代攻略
  17. 债务人无力偿还,债权人可否直接起诉“次债务人”
  18. Word控件Spire.Doc 【文本】教程(1) ;C#/VB.NET:从 Word 文档中删除文本或图像水印
  19. 使用计算机打印资料时需要安装打印机驱动,详细教您如何在计算机上安装打印机驱动程序...
  20. 系统扫描修复cmd命令

热门文章

  1. Excel文档瘦身,一键压缩xlsx文件中所有的图片,解决excel文件太大的问题
  2. 众多尼龙VRay材质球素材一键即可获取
  3. Selenium中的鼠标单击事件
  4. linux 挂载裸设备,centos挂载裸设备问题
  5. bootstrap日期插件daterangepicker的使用
  6. The RK3066/RK30SDK Android 4.2 audio codec has a bug!
  7. 如何看待第三方百度云 Pandownload 作者被捕?
  8. python制作口算表
  9. ps怎样裁剪html网页,Photoshop另类实用技巧:切网页
  10. kafka内外网连接问题