为了账号安全,请及时绑定邮箱和手机立即绑定

Appengine Go devserver 构建问题

Appengine Go devserver 构建问题

Go
斯蒂芬大帝 2021-09-21 16:25:08
我已将 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 服务器上编译为可执行的本机二进制文件。


查看完整回答
反对 回复 2021-09-21
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信