使用 AppEngine 1.9.40 SDK,我什至无法导入“appengine”包。
应用程序.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
可以做些什么来克服这个问题?
最佳答案
应用程序目录树(根是包含 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 上有更多关于此主题的讨论。 .
关于google-app-engine - AppEngine "appengine"包始终失败,出现 "syscall"或 "unsafe"导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711615/