最近我读了一篇文章http://glide.readthedocs.io/en/latest/vendor/,有一些建议,其中之一是:
库(没有
main
软件包的代码库)不应将外部软件包存储在VCS的vendor/
文件夹中,除非他们有特定的原因并理解他们为什么要这样做。
我的问题是:
根据这个建议,我们是否应该在开发golang库时将自己的包(不是那些第三方包)放在vendor/
文件夹中?
“外包装”是指住在此回购之外的包裹。因此,如果软件包与导入它们的代码分开放置:是的,请提供它们。
如果您只是想在实现库时编写和使用多个包:不,将它们放在vendor repo外的子文件夹中
例如
...
▸ server/
server.go "package server"
▸ store/
▸ testutils/
▾ vendor/
▸ bitbucket.org/
▸ github.com/
...
不,在供应商/目录中添加自己的包是没有意义的,因为供应商目录适用于项目外部的代码。
此建议的含义是:如果您正在开发库,请不要使用vendor /存储第三方库,除非您知道自己在做什么以及为什么要这样做。