我刚刚更新了谷歌云sdk,现在dev_appserver使用的是goroot 1.6而不是1.8,所以很多东西都无法识别。我到处都找过了,如何告诉dev_appserver使用goroot 1.8而不是1.6?这似乎微不足道。
Go App Engine SDK使用1.6,没有办法在App Engine中运行更高版本的Go他们的系统经过精细调整,可以与特定的版本和功能子集配合使用。像AppEngine这样的大型生产环境必须经过大量的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运行时笔记
更新Go SDK至1.9.55版本启用Go 1.8测试版此版本增加了对go1.8的测试版支持。要使用Go 1.8,请在中设置api_version:go1.8您的app.yaml配置文件。您还必须使用App Engine SDK,而不是云SDK。要下载应用程序引擎SDK,请转到下载页面,然后在页面底部展开Or,您可以下载Go的原始应用程序引擎SDK部分。
但请注意,即使到2017年10月3日,他们仍然称之为1.8测试版。
2017年10月3日
更新Go SDK至1.9.59修复了dev_appserver.py中使用的错误Go 1.8测试版的构建限制不正确。
EDIT2:经过一点修改后,如果goapp version
仍然打印1.6.4
,请不要担心,默认为这样。您必须在带有app.yaml
和api_version: go1.8
的目录中,否则它不会显示。基本目录中的goapp
是解析app.yaml
以确定要使用哪个版本的脚本。