Я пытаюсь перенести старый проект Google App Engine (стандартная среда), написанный на Go, во время выполнения 1.12.Я не касался этого с конца 2017 года, и с тех пор многое изменилось.Мне удалось разобраться с некоторыми вещами, но я не могу развернуть код, поскольку у меня есть некоторые внешние зависимости.
Соответствующие части вывода консоли при попытке развернуть
d:\src\go\src\data-axe>go env GOPATH
d:\src\go
d:\src\go\src\data-axe>gcloud app deploy --no-promote
...
Error type: BuildError.
Error message: 2019/09/27 19:10:09 Your app is not on your GOPATH, this build may fail.
2019/09/27 19:10:10 Building from Go source in /tmp/staging/srv, with main package at ./...
2019/09/27 19:10:10 Building /tmp/staging/srv, saving to /tmp/staging/usr/local/bin/start
2019/09/27 19:10:11 Wrote build output to /builder/outputs/output
2019/09/27 19:10:11 Failed to build app: Your app is not on your GOPATH, please move it there and try again.
...
err=exit status 1, out=srv/main.go:6:2: cannot find package "github.com/microcosm-cc/bluemonday" in any of:
...
Как видно из фрагмента выше, моя GOPATH установлена на d:\src\go
, мое приложение в d:\src\go\src\data-axe
, а Bluemonday, который я использую, находится в d:\src\go\src\github.com\microcosm-cc\bluemonday
, так что, насколько я знаю, все это в моей GOPATH.
Документация App Engine для указания зависимостей скажем
Если ваше приложение находится в каталоге на вашей GOPATH, App Engine анализирует, копирует и загружает ваши импортные файлы из GOPATH,Этот подход поддерживает каталоги поставщиков.
Здесь должно быть что-то, чего я не понимаю.У меня есть и мой код, и библиотека, которую я использую в своей GOPATH, но App Engine, похоже, не получает и не загружает мой импорт при попытке развернуть.
Импорт в моем main.go используетабсолютный путь, как сказано в документации:
package main
import (
"fmt"
"net/http"
"github.com/microcosm-cc/bluemonday"
"strings"
"log"
"os"
)
Что я делаю не так?
Редактировать
Полный вывод go env
:
d:\src\go\src\data-axe>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\niklas\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=d:\src\go
set GOPROXY=
set GORACE=
set GOROOT=c:\go
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\niklas\AppData\Local\Temp\go-build168636674=/tmp/go-build -gno-record-gcc-switches