Go中的库依赖项

Ger*_*obs 6 dependencies go

我在Go中创建了一个库/包,大家一致认为只有应用程序vendor在他们的项目中包含一个文件夹而库没有.

所以现在我将我的包包含在另一个(govendor'ed)项目中,一切正常,直到它得到Jenkins,它必须使用其本地资源,其中2个依赖项缺失.

我的项目自述文件说你需要做的就是go get我的项目,你已经完成了.但是,如果您正在使用govendoring,情况并非如此.

我的图书馆的方法应该是什么?这可以解决,还是这个"问题"只是最终用户必须解决的问题,因为他们使用govendor

One*_*One 4

我想这更多的是一个意见问题,但是我会分享我使用的内容。

\n\n

我使用git subtree在我的树中供应子存储库,然后添加一行//go:generate以稍后更新它,例如:

\n\n
\xe2\x9e\x9c git subtree add --prefix vendor/xxx/yyy/zzz https://github.com/xxx/yyy/zzz master --squash\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

go generate在我发布之前运行。

\n\n

这无需任何外部工具即可解决供应商问题。

\n\n

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

\n