參考 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,數據庫連接,和其他共享的實例都沒法工作。