使用AppEngine 1.9.40 SDK,我甚至无法导入“appengine”包。
的app.yaml:
application: testapp
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
转到代码:
package main
import (
"google.golang.org/appengine"
)
func init() {
appengine.IsDevAppServer()
}
func main() {
// This is only here because go-get needs on it.
}
命令行:
$ GOPATH=$(pwd) goapp serve
错误:
2016/08/01 23:58:02 go-app-builder: Failed parsing input: parser: bad import "unsafe" in src/golang.org/x/net/icmp/helper.go
可以做些什么来克服这个问题?
答案 0 :(得分:0)
应用程序目录树中的所有代码(根目录是包含app.yaml的目录)都会编译到应用程序中。 Appengine拒绝使用“不安全”的代码。
修复方法是将违规代码移出应用程序目录树。这是安排代码的一种可能方式:
$GOPATH
src
testapp
app.yaml
app.go
golang.org
x
net
icmp
... and so on
使用包main
也可能会造成一些麻烦。如果上述操作无效,请更改包名称。
Appengine应用程序无法获取。不要挣扎这么做。
在https://github.com/golang/gddo/issues/428处有关于此主题的更多讨论。