我已將 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 關注
- 199 瀏覽
添加回答
舉報
0/150
提交
取消