我已將 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
提交
取消
