【发布时间】:2017-10-11 18:05:04
【问题描述】:
我刚刚更新了 google-cloud-sdk,现在 dev_appserver 使用的是 goroot 1.6 而不是 1.8,所以一堆东西没有被识别出来。到处看了看,我如何告诉 dev_appserver 使用 goroot 1.8 而不是 1.6 ?这似乎微不足道。
【问题讨论】:
标签: 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 ?这似乎微不足道。
【问题讨论】:
标签: google-app-engine go google-cloud-sdk dev-appserver
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,请设置 api_version: go1.8 in 你的 app.yaml 配置文件。您还必须使用 App Engine SDK, 不是云 SDK。要下载 App Engine SDK,请转到下载 页面并在页面底部展开 或者,您可以下载 原始 App Engine SDK for Go 部分。
但请注意,即使在 2017 年 10 月 3 日,他们仍然调用 1.8 测试版。
2017 年 10 月 3 日
将 Go SDK 更新到 1.9.59 修复了 dev_appserver.py 中使用的错误 Go 1.8 beta 的构建约束不正确。
EDIT2:经过一点修改,如果goapp version 仍然打印1.6.4,请不要惊慌,它默认为这个。您必须在带有app.yaml 和api_version: go1.8 的目录中,否则它不会显示。基目录中的goapp 是一个脚本,它解析app.yaml 以确定使用哪个版本。
【讨论】: