2

我刚刚更新了 google-cloud-sdk,现在 dev_appserver 使用的是 goroot 1.6 而不是 1.8,所以一堆东西没有被识别。到处看了看,我如何告诉 dev_appserver 使用 goroot 1.8 而不是 1.6 ?这似乎微不足道。

4

1 回答 1

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 versionEDIT2:经过一番修改,如果仍然打印,请不要惊慌1.6.4,它默认为这个。您必须在带有app.yamlwith的目录中,api_version: go1.8否则它不会显示。基本目录中的goapp是一个脚本,它解析app.yaml以确定要使用的版本。

于 2017-10-11T18:12:55.867 回答