我正在开发一个不是包而是服务的Go项目。这取决于mgo
等。由于此服务在法律上应该是安全版本并且具有高可用性,因此我们决定在项目中提供mgo
依赖项。由于法律要求,我们不能仅依靠提取origin/master
上的任何版本作为依赖项。
显然,这会破坏我们GOPATH
的所有标准命令,因为它不再生活在GOPATH
下,而是放在Git存储库中的vendor
目录中:
~/src/link_tracker/
main.go
main_test.go
vendor/
src/
labix.org/
etc...
我们目前正在使用一个相当丑陋的Bash脚本来解决这个问题,该脚本会破坏大量的环境变量并进行一些符号链接,但如果我们可以在Makefile或类似文件下整合所有这些内容,那就太好了。
在不丢失mgo
特定版本依赖项的情况下,组织此操作的最佳/正确方法是什么?
答案 0 :(得分:1)
你应该使用https://github.com/kr/godep解决这个问题,现在非常稳定,因为你的代码应该存放在存储库(git,svn,mercurial等)中。
答案 1 :(得分:0)
我一直在玩的两个工具(用于类似的目标)是:
您应该看看是否可以使用其中一种而不是自己滚动。在labix.org的特殊情况下,johnny-deps似乎需要git托管的东西。