为了账号安全,请及时绑定邮箱和手机立即绑定

在开发 golang 库时,我们是否应该始终将自己的包放在 vendor/ 文件夹中?

在开发 golang 库时,我们是否应该始终将自己的包放在 vendor/ 文件夹中?

Go
拉丁的传说 2022-01-10 17:39:30
最近我读了一篇文章http://glide.readthedocs.io/en/latest/vendor/,有一些建议,其中之一是:库(没有main包的代码库)不应将外部包存储vendor/在其 VCS的文件夹中,除非他们有特定的原因并理解他们为什么这样做。我的问题是:根据这个建议,vendor/在开发 golang 库时,我们是否应该始终将我们自己的包(而不是那些第三方包)放在文件夹中?
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

“外部包”是指位于此 repo 之外的包。因此,如果这些包与导入它们的代码位于单独的存储库中:是的,供应它们。


如果您只想在实现库时编写和使用多个包:不,将它们放在库 repo 中 vendor/ 之外的子文件夹中


例如


...

▸ server/

    server.go "package server"

▸ store/

▸ testutils/

▾ vendor/

  ▸ bitbucket.org/

  ▸ github.com/

...


查看完整回答
反对 回复 2022-01-10
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

不,在 vendor/ 目录中添加你自己的包是没有意义的,因为 vendor 目录是为你的项目外部的代码准备的。

这个建议的意思是:如果你正在开发一个库,除非你知道你在做什么以及为什么要这样做,否则不要使用 vendor/ 来存储第三方库。


查看完整回答
反对 回复 2022-01-10
  • 2 回答
  • 0 关注
  • 203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号