目前,Go SDK 附带的 Go 版本是 1.6.2 ,但最新版本是 1.7.1 。我需要一些自 1.6.2 以来发布的增强功能/错误修复。但是,当我更换goroot在 SDK 目录中包含 Go 1.6.2 且符号链接指向 1.7.1 的目录中,我收到一个错误,该错误与无法找到有关bin/goapp,它看起来是特定于 AppEngine 的,并且在标准 Go 版本中未提供。
有谁知道如何升级 AppEngine SDK 中可用的 Go?这是否意味着生产中的 Go 也是 1.6.2?
不幸的是,您只能使用最新 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 版本通常会落后几个版本,因为要成为“实时”版本,通常需要针对 App Engine 的沙盒环境进行修改/更改(必须应用/实施某些限制),并且需要进一步/额外的测试/加强安全性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)