dev_appserver使用goroot 1.6而不是1.8

时间:2017-10-11 18:05:04

标签: google-app-engine go google-cloud-sdk dev-appserver

我刚刚更新了google-cloud-sdk,现在dev_appserver正在使用goroot 1.6而不是1.8,因此一堆东西无法识别。看了遍地,我怎么告诉dev_appserver使用goroot 1.8而不是1.6?这看起来非常微不足道。

1 个答案:

答案 0 :(得分:1)

Go App Engine SDK使用1.6,无法在App Engine中运行更高版本的Go版本。他们的系统经过精心调整,可以使用特定版本和功能子集。像App Engine这样的大型生产环境必须通过大量的R& D来推动新的SDK版本。你只需要等待新版本流出并使用可用的东西。

也就是说,如果你真的需要使用更新版本的Go,你可以随时启动计算引擎服务器,但是你会失去标准或灵活环境的所有便利,比如自动缩放。

编辑:截至2017年6月27日,他们已在SDK中启用了Go 1.8作为BETA。请参阅此处的发行说明中的​​信息:https://cloud.google.com/appengine/docs/standard/go/release-notes

  

2017年6月27日

     

转到运行时备注

     

将Go SDK更新至版本1.9.55启用Go 1.8 beta此版本   为go1.8增加了beta支持。要使用Go 1.8,请设置api_version:go1.8 in   你的app.yaml配置文件。您还必须使用App Engine SDK,   不是云SDK。要下载App Engine SDK,请转到下载   页面和页面底部,展开或,您可以下载   最初的App Engine SDK for Go部分。

但请注意,即使截至2017年10月3日,他们仍称1.8 beta。

  

2017年10月3日

     

将Go SDK更新为1.9.59修复了dev_appserver.py中使用的错误   Go 1.8 beta的构建限制不正确。

EDIT2:经过一点修改后,如果goapp version仍打印1.6.4,请不要惊慌,默认为此。您必须位于app.yamlapi_version: go1.8的目录中,否则它将无法显示。基本目录中的goapp是一个脚本,用于解析app.yaml以确定要使用的版本。