google-app-engine - 应用引擎/去 : Using a new version of Go with the SDK

标签 google-app-engine go

Go SDK 当前附带的 Go 版本是 1.6.2,但最新版本是 1.7.1。我需要自 1.6.2 以来发布的一些增强功能/错误修复。但是,当我用指向 1.7.1 的符号链接(symbolic link)替换包含 Go 1.6.2 的 SDK 目录中的 goroot 目录时,我收到一个与无法找到 < em>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 的沙盒环境进行修改/更改(必须应用/实现某些限制),它需要进一步/额外的测试/加强安全性。

关于google-app-engine - 应用引擎/去 : Using a new version of Go with the SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39638348/

相关文章:

go - 带有 % 和 , 参数的 exec 命令

google-app-engine - Appengine Search API 按日期和时间搜索

google-app-engine - Golang GAE - 联合登录示例

java - 使用适用于 Java 的 Google Cloud Storage 客户端库检索特定文件的 ACL

json - 在Golang中将JSON文件转换为CSV

go - 在 Go 中检查字节序的任何更好的方法

python - 从 google.cloud 导入 firestore ModuleNotFoundError : No module named 'google'

python - 多个url获取Google App Engine python

docker - 如何从 docker-compose 命令 : 运行 2 个不同的命令

go - 去http.FileServer流错误的文件