【发布时间】:2018-09-28 05:21:44
【问题描述】:
我的GOPATH是$HOME/go,我把我项目的源代码放在$HOME/go/src/myproj
还有两个文件:
app.yaml:
application: hello
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
和 hello.go
package hello
import (
"net/http"
"github.com/gin-gonic/gin"
)
func ping(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
}
func init() {
r := gin.Default()
api := r.Group("/api")
{
api.GET("/ping", ping)
}
http.Handle("/", r)
}
然后我运行dev_appserver.py .
有效,
curl http://127.0.0.1:8080/api/ping
{"message":"pong"}
然后我决定这样拆分hello.go:
新的hello.go
package hello
import (
"net/http"
"github.com/gin-gonic/gin"
"./api"
// "myproj/api" // does not work too
)
func init() {
r := gin.Default()
api.addRoute()
http.Handle("/", r)
}
还有一个api 文件夹和api/api.go 文件
package api
import (
"github.com/gin-gonic/gin"
)
func ping(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
}
func addRoute() {
api := r.Group("/api")
{
api.GET("/ping", ping)
}
}
然后我再次运行dev_appserver.py .,但收到此错误:
ERROR 2018-09-28 05:17:47,653 instance_factory.py:229] 无法构建 Go 应用程序:(执行的命令:/Users/gaco/.google-cloud-sdk/platform/google_appengine/goroot-1.9/ bin/go-app-builder -app_base /Users/gaco/go/src/myproj -api_version go1 -arch 6 -dynamic -goroot /Users/gaco/.google-cloud-sdk/platform/google_appengine/goroot-1.9 -nobuild_files ^^$ -incremental_rebuild -unsafe -print_extras_hash hello.go api/api.go)
2018/09/28 14:17:47 go-app-builder:解析输入失败:应用文件 api.go 与从 GOPATH 导入的相同文件冲突
警告 2018-09-28 05:17:47,654 instance.py:297] 无法获取实例的 PID 错误 2018-09-28 05:17:47,654 instance.py:300] '_GoBuildFailureRuntimeProxy' 对象没有属性 '_process'
有什么问题?我该如何解决?
【问题讨论】:
标签: google-app-engine go dev-appserver google-app-engine-go dev-appserver-2