Перейти к импорту проблемы с зависимостями от поставщиков при создании проекта Go 1.7 с использованием govendor, dh-make-golang
Я искал встраивание проекта go в пакет de bian.
Я посмотрел в Dh-Make-Golang, и у меня есть хороший и блестящий debian
папка настроена в моем хранилище. Когда я пытаюсь использовать gbp buildpackage --git-pbuilder
хотя это ошибки из-за того, что все мои зависимости не найдены. Кажется, что dh-make-golang
игнорирует 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)
2 ответа
Проблема была ошибка в dh-make-golang
относительно импорта зависимостей поставщика. Это было просто исправлено сегодня.
Посмотрите на 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
и он сделает всю работу за вас.