我试图在AppEngine上部署API,但我不知道为什么它不起作用,下面是代码的摘录:
package main
import (
"encoding/json"
"io/ioutil"
"net/http"
"fmt"
"google.golang.org/appengine"
)
func main () {
InitPubSub()
http.HandleFunc("/", HandlerBase)
http.HandleFunc("/user", HandlerUser)
http.HandleFunc("/event", HandlerEvent)
appengine.Main()
}当我尝试部署应用程序(gcloud应用程序部署)时,我得到了以下错误:main.go:9:无法找到导入:"google.golang.org/appengine"
我遵循了安装指南:https://cloud.google.com/appengine/docs/standard/go/download
并下载了appengine包:gogetgoogle.golang.org/appengine
谢谢!
发布于 2017-05-03 16:25:52
引用自论坛:
开发人员意识到了这个问题,并且正在积极地为解决这个问题做出贡献。与此同时,您应该能够使用"goapp部署“而不是gcloud命令。
发布于 2017-09-28 22:16:24
当我跟踪时,我也遇到了这个问题:https://cloud.google.com/appengine/docs/standard/go/tools/using-local-server
对我起作用的是取代
import "google.golang.org/appengine"
通过以下方式:
import "appengine"
我不确定这条指令是不是过时了。
发布于 2018-10-03 21:30:57
要运行一个go应用程序引擎项目,我发现这个项目结构对于单个服务来说是远远不够的。
your/project/path/src/mainapp.go
your/project/path/src/app.yaml
or
your/project/path/src/mainfolder/mainapp.go
your/project/path/src/mainfolder/app.yaml
your/project/path/src/lib/lib1/watever.go
your/project/path/src/lib/lib2/whatever2.go
your/project/path/src/google.golang.org/ - for the golang appengine package
your/project/path/src/golang.org/ - golang packages
your/project/path/src/github.org/ - github packages子文件夹/包文件夹,不能高于主app.yaml文件。此外,golang包必须放置在"src/“中,并且只能直接从"google.golang.org”导入路径导入,而不能在上面导入。也就是说,"customFolder/google.golang.org“是不允许的,但是,只要app.yaml文件直接位于src文件夹:src/app.yaml-src/mainapp.go,则允许使用"appengine”。
https://stackoverflow.com/questions/43744415
复制相似问题