繁体   English   中英

Go中的库依赖

[英]Library dependencies in Go

我已经在Go中创建了一个库/程序包,并且达成的共识是,只有应用程序的项目中才包含一个vendor文件夹,而库中没有。

所以现在我将我的软件包包含在另一个( govendor )项目中,并且一切正常,直到它到达Jenkins并且必须使用其本地资源,其中缺少两个依赖项。

我的项目自述文件说,您需要做的就是go get我的项目,然后完成。 但这不是万一您使用govendoring的情况。

我的图书馆应该采用什么方法? 这可以解决吗,还是这个“问题”仅仅是最终用户因为使用govendor必须解决的问题?

我猜这更多是一个意见问题,不过,我将分享我的用法。

我将git子树用于在树中供应子存储库,然后添加//go:generate行以稍后进行更新,例如:

➜ git subtree add --prefix vendor/xxx/yyy/zzz https://github.com/xxx/yyy/zzz master --squash

然后将//go:generate git subtree pull --prefix vendor/xxx/yyy/zzz https://github.com/xxx/yyy/zzz master --squash到我的一个库文件中。

然后在我发布之前运行go generate

这样就解决了供应商的问题,而无需任何外部工具。

实时示例: https//github.com/OneOfOne/xxhash/blob/master/xxhash_cgo.go

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM