go vendor目录

参考 https://blog.csdn.net/u010649766/article/details/80327035

那么查找依赖包路径的解决方案如下:

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

一些建议

在使用vendor中,给出如下建议:

  • 一个库工程(不包含main的package)不应该在自己的版本控制中存储外部的包在vendor目录中,除非他们有特殊原因并且知道为什么要这么做。
  • 在一个应用中,(包含main的package),建议只有一个vendor目录在代码库一级目录。

上面建议的原因如下:

  • 在目录结构中的每个包的实例,即使是同一个包的同一个版本,都会打到最终的二进制文件中,如果每个人都单独的存储自己的依赖包,会迅速导致生成文件的二进制爆发(binary bloat)
  • 在一个目录的某个pacage类型,并不兼容在同一个package但是在不同目录的类型,即便是同一个版本的package,那意味着loggers,数据库连接,和其他共享的实例都没法工作。
posted @ 2018-10-06 01:46  thrillerz  阅读(4107)  评论(1编辑  收藏  举报