При развертывании моих сервисов Go в Google AppEngine (стандарт) я получаю сообщение об ошибке, описывающее, что версия модуля не найдена, при этом все компилируется нормально.
Модули находятся в частном экземпляре Github и извлечены на vendor/
.
A go build -mod vendor -o /dev/null ./...
работает в локальном облаке, локально и в Google Cloud Build. Тег с именем v1.1.0 существует на github.com/company/gosystem:
gosystem$ git tag
v0.0.1
v0.0.2
v0.0.3
v1.0.0
v1.1.0
Failed to build app: [go build -o /tmp/staging172777881/usr/local/bin/start .] with env [PATH=/go/bin:/usr/local/go/bin:/builder/google-cloud-sdk/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=f3f56ce621f0 HOME=/builder/home BUILDER_OUTPUT=/builder/outputs DEBIAN_FRONTEND=noninteractive GOROOT=/usr/local/go/ GOPATH=/go GO111MODULE=on GOCACHE=/tmp/cache019702820 GOPATH=/go] failed: err=exit status 1, out="
go: finding github.com/pquerna/otp v1.1.0
go: finding github.com/gin-gonic/gin v1.4.0
go: finding github.com/pkg/errors v0.8.1
go: finding github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be
go: finding github.com/gosimple/slug v1.5.0
go: finding github.com/boombuler/barcode v1.0.0
go: finding github.com/company/gosystem v1.1.0
go: finding github.com/oblq/i18n v0.0.0-20181031085821-98eec2978e00
go: finding github.com/go-pg/pg v8.0.4+incompatible
go: finding golang.org/x/text v0.3.2
go: finding github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: finding github.com/modern-go/reflect2 v1.0.1
go: finding github.com/golang/protobuf v1.3.1
go: finding github.com/stretchr/testify v1.3.0
go: finding github.com/ugorji/go/codec v0.0.0-20190204201341-e444a5086c43
go: finding github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3
go: finding github.com/mattn/go-isatty v0.0.7
go: github.com/company/[email protected]: unknown revision v1.1.0
grep -RI 'gosystem@' *
ничего не сообщает.
go
не удается получить этот репозиторий: его не существует. - person kostix   schedule 21.05.2019go
достигать содержимого этого репозитория, рассмотрите возможность использования директиваreplace
вgo.mod
файле, чтобы перенаправить операцию выборки на другой URL. - person kostix   schedule 21.05.2019vendor/
. (так как сборка работает) - person Niels   schedule 21.05.2019go mod
. - person kostix   schedule 21.05.2019go build -mod vendor -o /dev/null ./...
. Я сделалgo mod vendor
. - person Niels   schedule 21.05.2019go build -mod=vendor
работает, он игнорирует информацию о версиях вgo.mod
файле. В вашей настройке, похоже, это не так. Отсюда два момента: 1) можете ли вы убедиться, что вашvendor
каталог действительно содержит правильные пути импорта ?; 2) запуститьgo build
без перенаправления его вывода и с-x
, чтобы он рассказывал, что он делает, с большим количеством деталей? Мне также интересно, что первая строка вашей ошибки содержитgo: finding github.com/pquerna/otp v1.1.0
. - person kostix   schedule 21.05.2019-mod vendor
go build
запустит загрузку пакетов в$GOPATH/pkg/mod
. Я удивлен, что сборка не будет работать, потому что каталогvendor/
должен содержать все из-заgo build -mod vendor
? - person Niels   schedule 21.05.2019/vendor
: при использованииgo
toolset в режиме модулей продавец фактически должен препятствовать любым попыткам загрузки чего-либо: продавец - это то, чтобы нести ваши данные вместе с вашим код (обычно с полными исходниками). Поэтомуgo build -mod=vendor
нужно просто заглянуть в/vendor
и использовать то, что там есть. - person kostix   schedule 21.05.2019go build -mod vendor
тогда не должен работать, илиgcloud app deploy
не находится в «режиме продажи». - person Niels   schedule 21.05.2019GO111MODULE=on
отключит торговлю? Что произойдет, если вы установитеauto
? Формулировка здесь является спорной, поэтому я просто предполагаю. Кроме того, если у вас действительно есть ручная проверка всего необходимого материала в/vendor
, вы можете просто попробоватьGO111MODULE=off
и использовать неукрашенныйgo build
(без-mod=vendor
). Обратите внимание, что в конечном итоге это может сломаться (где-то после 1,12). - person kostix   schedule 21.05.2019GO111MODULE=auto
: это работает дляgo build
, но не дляgcloud app deploy
.. - person Niels   schedule 21.05.2019