dongyuan7981 2015-03-14 10:22
浏览 24
已采纳

Appengine Go devserver构建问题

i have updated the go version from 1.4.1 to 1.4.2, and also now using appengine latest go sdk 1.9.18, when i try to run the existing project i get the following error ,

google_appengine/goroot/pkg/darwin_amd64/appengine.a: object is [darwin amd64 go1.4.2 X:precisestack] expected [darwin amd64 go1.4.1 (appengine-1.9.18) X:precisestack]

i know its an problem with file build with existing version and trying to run with new version, may i know how can i fix this issue ?

Thanks!

  • 写回答

1条回答 默认 最新

  • douciping4283 2015-03-14 15:37
    关注

    The latest go version is 1.4.2, but the AppEngine Go SDK uses a bundled Go runtime with version 1.4.1!

    That means you can't use an "external" 1.4.2 Go library to compile your sources. If you develop an app for AppEngine in Go, you can't (shouldn't) even use any Go library except the one that is bundled in the Go AppEngine SDK!

    And in fact, you don't have to. The SDK contains a goapp command similar to the go tool with which you can run and test your app locally and you can deploy it to production environment. To run/test your app locally, use the goapp serve command, to deploy it to production environment, use the goapp depploy command.

    So what you should do is delete any package objects compiled with Go 1.4.2, and use only the goapp (part of the SDK) command to run/test/deploy your application.

    Note that you don't even have to install any package objects as the goapp deploy command uploads your app in source form and it is compiled into executable native binary on the appengine servers.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?