Appengine Go devserver build issue



我已经将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:precisionstack] 预期 [darwin amd64 go1.4.1 (appengine-1.9.18) X:precisionstack]

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

谢谢!

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

这意味着你不能使用"外部"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 命令以源代码形式上传您的应用程序,并将其编译为 appengine 服务器上的可执行本机二进制文件。

最新更新