google-app-engine - AppEngine "appengine"包始终失败,出现 "syscall"或 "unsafe"导入失败

标签 google-app-engine go

使用 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/

相关文章:

python - Google App Engine 实例不断快速关闭

google-app-engine - google appengine和实际大表的区别

django - App Engine WSGI 中间件分析器

google-app-engine - GAE 数据存储 (Golang) : Filter Query When Adding New DB Field

unit-testing - 如何对 Go Gin 处理程序函数进行单元测试?

python-2.7 - 在谷歌应用引擎中运行 cron 并登录 :admin in app. yaml 时出现错误 302

json - 为自定义类型声明 UnmarshalJSON 的正确方法是什么?

戈朗 : How do I determine the number of lines in a file efficiently?

go - 如何将父类型转换为子类型

go - 你什么时候在 Go 的结构中嵌入互斥量?