Go で記述された古い Google App Engine (標準環境) プロジェクトをランタイム 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