我刚刚更新了 google-cloud-sdk,现在 dev_appserver 使用的是 goroot 1.6 而不是 1.8,所以一堆东西没有被识别。到处看了看,我如何告诉 dev_appserver 使用 goroot 1.8 而不是 1.6 ?这似乎微不足道。
1 回答
Go App Engine SDK 使用 1.6,无法在 App Engine 中运行更高版本的 Go。他们的系统经过微调,可以使用特定版本和功能子集。像 App Engine 这样的大型生产环境必须经过大量的研发才能推出新的 SDK 版本。您只需要等待新版本出现并使用可用的内容。
也就是说,如果您真的需要使用更新版本的 Go,您可以随时启动 Compute Engine 服务器,但您会失去标准或弹性环境(如自动缩放)的所有便利。
编辑:截至 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 beta 此版本增加了对 go1.8 的 beta 支持。要使用 Go 1.8,请在 app.yaml 配置文件中设置 api_version: go1.8。您还必须使用 App Engine SDK,而不是 Cloud 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 中使用了不正确的构建约束。
goapp version
EDIT2:经过一番修改,如果仍然打印,请不要惊慌1.6.4
,它默认为这个。您必须在带有app.yaml
with的目录中,api_version: go1.8
否则它不会显示。基本目录中的goapp
是一个脚本,它解析app.yaml
以确定要使用的版本。