有没有人知道如何升级AppEngine SDK中的Go?这是否意味着Go in production也是1.6.2?
答案 0 :(得分:8)
不幸的是,您仍然坚持使用最新App Engine Go SDK中捆绑的Go版本。
即使你"切换"它本地使用Go 1.7.1,并且你设法使用Go 1.7.1编译和运行你的应用程序(通过添加来自SDK的Go根目录中缺少的文件),生产环境目前也使用Go 1.6.2,因此,当引用1.6.2中缺少的代码时,您的应用和Go代码将在实时环境中遇到错误。很可能甚至部署都会失败。
另请注意,将应用程序部署到App Engine时,只会上载源文件,并且您的应用程序将在云中进行编译。所以你甚至不能"欺骗"它通过在本地编译并以某种方式"排除"源文件并仅上传二进制文件(甚至没有上传二进制文件)。
除了Go 1.7.1(或更新的版本)之外,你无法做任何其他事情来进入SDK。请注意,SDK中捆绑的Go版本通常落后于几个版本,因为它会成为" live"版本,它通常需要修改/更改App Engine的沙盒环境(必须应用/实施某些限制),并且需要进一步/额外测试/加强安全性。
答案 1 :(得分:2)
此时你应该能够升级 - 自2017年以来App Engine一直支持Go 1.8,最近宣布早期支持1.9。
一般情况下,你几乎完全坚持使用生产中支持的版本 - 没有办法在你自己的Go版本中链接到SDK,而且我认为即使你可以这样做也是非常不明智的。