Go在使用dh make golang Govendo构建Go 1.7项目时导入供应商依赖性问题
我一直在考虑将go项目构建到debian包中 我已经研究过了,在我的存储库中设置了一个漂亮而闪亮的Go在使用dh make golang Govendo构建Go 1.7项目时导入供应商依赖性问题,go,debian,pbuilder,govendor,Go,Debian,Pbuilder,Govendor,我一直在考虑将go项目构建到debian包中 我已经研究过了,在我的存储库中设置了一个漂亮而闪亮的debian文件夹。当我尝试使用gbpbuildpackage--gitpbuilder时,由于找不到我的所有依赖项,它出错了。当dh make golang从我的项目的git存储库复制所有内容时,它似乎忽略了供应商文件夹,我使用govendor,所以我的所有依赖项都在那里 如何解决此依赖性问题并将项目正确构建为.deb包?作为参考,我得到的错误是: src/github.com/project/p
debian
文件夹。当我尝试使用gbpbuildpackage--gitpbuilder
时,由于找不到我的所有依赖项,它出错了。当dh make golang从我的项目的git存储库复制所有内容时,它似乎忽略了供应商
文件夹,我使用govendor
,所以我的所有依赖项都在那里
如何解决此依赖性问题并将项目正确构建为.deb
包?作为参考,我得到的错误是:
src/github.com/project/project/project.go:15:2:在以下任何一个文件中找不到包“google.golang.org/grpc/grpclog”:
/usr/lib/go-1.7/src/google.golang.org/grpc/grpclog(来自$GOROOT)
/tmp/project/obj-x86_64-linux-gnu/src/google.golang.org/grpc/grpclog(来自$GOPATH)
看一看-它可以为您做到这一点
您只需将.goxc.json
添加到目录的根目录中,如下所示
{
"AppName": "my_app",
"ArtifactsDest": "downloads",
"Tasks": [
"interpolate-source"
"deb",
],
"BuildConstraints": "linux,amd64 windows,amd64 darwin,amd64 linux,arm",
"ResourcesInclude": "INSTALL*,README*,LICENSE*,config/*,static/*,templates/*",
"PackageVersion": "0.9.3",
"TaskSettings": {
"deb": {
"metadata": {
"description": "my app",
"maintainer": "me",
"maintainer-email": "me@example.com"
},
"metadata-deb": {
"Homepage": "https://example.com"
},
"other-mapped-files": {
"/": "debian/",
"/usr/share/something/static": "static/",
"/usr/share/something/templates": "templates/"
}
}
},
"ConfigVersion": "0.9"
}
然后运行
goxc
,它将为您完成所有工作。问题是dh make golang
中关于导入供应商依赖关系的一个bug。今天刚修好
作者写道:“注意:goxc一直处于维护模式。自从Go1.5支持简单的交叉编译以来,这个工具失去了很多价值……我是一个非常好的go用户,但我自己已经很久不需要goxc了。”所以,IMHO,不要浪费你的时间检查它,我是按照这个答案做的:-(