###########################
golang版本:1.5
环境变量:
GOROOT=
GOPATH=
PATH=
GO15VENDOREXPERIMENT=1 #在go1.5版本后必须配置
最开始的时候,Go 并没有提供较为妥当的包管理工具。从 1.5 版本开始提供了 vendor 特性,但需要手动设置环境变量 GO15VENDOREXPERIMENT=1。 在执行 go build 或 go run 命令时,会按照以下顺序去查找包: 当前包下的 vendor 目录 向上级目录查找,直到找到 src 下的 vendor 目录 在 GOROOT 目录下查找 在 GOPATH 下面查找依赖包 在发布 1.6 版本时,该环境变量的值已经默认设置为 1 了,该值可以使用 go env 命令查看。 在发布 1.7 版本时,已去掉该环境变量,默认开启 vendor 特性。
vendor 使用建议 一个库工程(不包含 main 的 package)不应该在自己的版本控制中存储外部的包在 vendor 目录中,除非有特殊原因并且知道为什么要这么做。 在一个应用中,(包含 main 的 package),建议只有一个 vendor 目录,且在代码库一级目录。 govendor 简介 govendor 是一个基于 vendor 目录机制的包管理工具。 支持从项目源码中分析出依赖的包,并从 $GOPATH 复制到项目的 vendor 目录下 支持包的指定版本,并用 vendor/vendor.json 进行包和版本管理,这点与 PHP 的 Composer 类似 支持用 govendor add/update 命令从 $GOPATH 中复制依赖包 如果忽略了 vendor/*/ 文件,可用 govendor sync 恢复依赖包 可直接用 govendor fetch 添加或更新依赖包 可用 govendor migrate 从其他 vendor 包管理工具中一键迁移到 govendor 支持 Linux,macOS,Windows,甚至现有所有操作系统 支持 Git、Hg、SVN,BZR(必须指定一个路径)
######################