2

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
4

1 に答える 1