使用 govendor、dh-make-golang 构建 Go 1.7 项目时 Go 导入供应商依赖项问题
Go importing vendor dependencies issue when building a Go 1.7 project using govendor, dh-make-golang
我一直在研究将 go 项目构建到 debian 包中。
我查看了 dh-make-golang 并在我的存储库中设置了一个漂亮而闪亮的 debian
文件夹。当我尝试使用 gbp buildpackage --git-pbuilder
时,由于未找到我的所有依赖项,它会出错。 dh-make-golang
似乎在从我项目的 git 存储库复制所有内容时忽略了 vendor
文件夹,我使用 govendor
所以我所有的依赖项都在那里。
如何解决此依赖性问题并将项目正确构建为 .deb
包?作为参考,我得到的错误是:
src/github.com/project/project/project.go:15:2: cannot find package "google.golang.org/grpc/grpclog" in any of:
/usr/lib/go-1.7/src/google.golang.org/grpc/grpclog (from $GOROOT)
/tmp/project/obj-x86_64-linux-gnu/src/google.golang.org/grpc/grpclog (from $GOPATH)
看看 goxc - 它可以为您做到这一点!
你只需要添加一个 .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
中关于导入供应商依赖项的错误。今天刚修好。
我一直在研究将 go 项目构建到 debian 包中。
我查看了 dh-make-golang 并在我的存储库中设置了一个漂亮而闪亮的 debian
文件夹。当我尝试使用 gbp buildpackage --git-pbuilder
时,由于未找到我的所有依赖项,它会出错。 dh-make-golang
似乎在从我项目的 git 存储库复制所有内容时忽略了 vendor
文件夹,我使用 govendor
所以我所有的依赖项都在那里。
如何解决此依赖性问题并将项目正确构建为 .deb
包?作为参考,我得到的错误是:
src/github.com/project/project/project.go:15:2: cannot find package "google.golang.org/grpc/grpclog" in any of:
/usr/lib/go-1.7/src/google.golang.org/grpc/grpclog (from $GOROOT)
/tmp/project/obj-x86_64-linux-gnu/src/google.golang.org/grpc/grpclog (from $GOPATH)
看看 goxc - 它可以为您做到这一点!
你只需要添加一个 .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
中关于导入供应商依赖项的错误。今天刚修好。