google-app-engine - Appengine Go devserver 构建问题

标签 google-app-engine go

我已经将 go 版本从 1.4.1 更新到 1.4.2,现在还使用 appengine 最新的 go sdk 1.9.18,当我尝试运行现有项目时出现以下错误,

google_appengine/goroot/pkg/darwin_amd64/appengine.a:对象是 [darwin amd64 go1.4.2 X:precisestack] 预期 [darwin amd64 go1.4.1 (appengine-1.9.18) X:precisestack]

我知道使用现有版本构建文件并尝试使用新版本运行时存在问题,我可以知道如何解决此问题吗?

谢谢!

最佳答案

最新的 Go 版本是 1.4.2,但 AppEngine Go SDK 使用捆绑的 Go 运行时版本 1.4.1!

这意味着您不能使用“外部”1.4.2 Go 库来编译您的源代码。如果您在 Go 中为 AppEngine 开发应用程序,您甚至不能(不应该)使用任何 Go 库,除非捆绑在 Go AppEngine SDK 中!

事实上,您不必这样做。 SDK 包含一个类似于 go 工具的 goapp 命令,您可以使用它在本地运行和测试您的应用程序,并将其部署到生产环境。要在本地运行/测试您的应用,请使用 goapp serve 命令,要将其部署到生产环境,请使用 goapp depploy 命令。

因此,您应该做的是删除使用 Go 1.4.2 编译的任何包对象,并仅使用 goapp(SDK 的一部分)命令来运行/测试/部署您的应用程序。

请注意,您甚至不必安装任何包对象,因为 goapp deploy 命令会以 source 形式上传您的应用程序,并将其编译成可执行的 native 二进制文件Appengine 服务器。

关于google-app-engine - Appengine Go devserver 构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29047816/

相关文章:

java - 使用 Eclipse GAE 运行 PhantomJS

google-app-engine - 在 Appengine 上将帖子标记为已读

python - 搜索API : snippeted_fields option return error UnboundLocalError: local variable 'prev_len' referenced before assignment

go - 如何返回一个空的 io.Reader?

database - 使用或仅处理多种用户类型的Go继承

google-app-engine - 超出软专用内存限制

java - 带有 Xamarin 的 Google 应用引擎

pointers - 使用指向值的指针作为 slice

go - 无法使用 go get 安装 Revel

javascript - 如何更改 javascript [客户端] 中不同阶段的端点?