Appengine Go devserver构建问题

时间:2015-03-14 10:22:53

标签: google-app-engine 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:exactstack]预期[darwin amd64 go1.4.1(appengine-1.9.18)X:exactstack]

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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

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

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

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

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