我已将 go 版本从 1.4.1 更新到 1.4.2,现在还使用 appengine 最新的 go sdk 1.9.18,当我尝试运行现有项目时,出现以下错误,google_appengine/goroot/pkg/darwin_amd64/appengine.a:对象是 [darwin amd64 go1.4.2 X:precisestack] 预期 [darwin amd64 go1.4.1 (appengine-1.9.18) X:precisestack]我知道使用现有版本构建文件并尝试使用新版本运行存在问题,我可以知道如何解决此问题吗?谢谢!
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
最新的 Go 版本是 1.4.2,但 AppEngine Go SDK 使用了 1.4.1 版的捆绑 Go 运行时!
这意味着您不能使用“外部”1.4.2 Go 库来编译您的源代码。如果您在 Go 中为 AppEngine 开发应用程序,您甚至不能(不应该)使用任何 Go 库,除了 Go AppEngine SDK 中捆绑的库!
事实上,你不必这样做。SDK 包含一个goapp
类似于go
工具的命令,您可以使用该工具在本地运行和测试您的应用程序,您可以将其部署到生产环境。要在本地运行/测试您的应用程序,请使用该goapp serve
命令,要将其部署到生产环境,请使用该goapp depploy
命令。
所以你应该做的是删除任何用 Go 1.4.2 编译的包对象,并且只使用goapp
(SDK 的一部分)命令来运行/测试/部署你的应用程序。
请注意,您甚至不必安装任何包对象,因为该goapp deploy
命令会以源代码形式上传您的应用程序,并且它会在 appengine 服务器上编译为可执行的本机二进制文件。
- 1 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消