golang vendor是为了解决golang依赖问题的,golang1.6后默认开启。经常遇到引入第三方包但是开源方更改了代码导致无法正常编译的情况。

写这篇blog的目的是为了备忘遇到的问题

项目hello在/opt/code目录下,默认GOPATH在/opt/environment下。go build编译的时候提示找不到vendor下的第三方包。

后来发现应该将vendor纳入到GOPATH下vendor才能生效。将hello放在/opt/code/src下并(mac os)执行

export GOPATH=/opt/code/
cd /opt/code/src/hello
#编译通过
go build 
  • golang vendor目录特性出来后,官方wiki推荐了多个支持此特性的包管理工具。推荐使用glide

    #安装glide
    brew install glide