【问题标题】:dev_appserver using goroot 1.6 instead of 1.8dev_appserver 使用 goroot 1.6 而不是 1.8
【发布时间】: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


    【解决方案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,请设置 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.yamlapi_version: go1.8 的目录中,否则它不会显示。基目录中的goapp 是一个脚本,它解析app.yaml 以确定使用哪个版本。

    【讨论】:

    • 这真是一个惊喜。在 google-cloud-sdk > platform > google_appengine 我看到“goroot1.6”和“goroot1.8”,所以我认为两者都受支持。
    • @KieranW。不,谢谢!很高兴您注意到了这一点,现在我可以开始迁移我自己的项目以参与测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    相关资源
    最近更新 更多