2017-10-11 82 views
2

我剛更新了google-cloud-sdk,現在dev_appserver使用的是goroot 1.6而不是1.8,所以一堆東西沒有被識別。看遍了各地,我該如何告訴dev_appserver使用goroot 1.8而不是1.6?它似乎非常微不足道。dev_appserver使用goroot 1.6而不是1.8

回答

1

Go App Engine SDK使用1.6,無法在App Engine中運行更高版本的Go版本。 他們的系統經過精心調整,可以處理特定版本和功能子集。像App Engine這樣的大型生產環境必須通過大量的R & D才能推出新的SDK版本。你只需要等待新版本發佈並使用可用的版本。也就是說,如果你真的需要使用更新版本的Go,你總是可以啓動一個Compute Engine服務器,但是你失去了標準或flex環境的所有便利,比如自動縮放。

編輯:截至2017年6月27日,他們已啓用Go 1.8作爲SDK中的測試版。請參見發行信息指出此:https://cloud.google.com/appengine/docs/standard/go/release-notes

2017年6月27日

Go運行時指出

更新轉到SDK到55年9月1日啓用版本轉到1.8測試版這個版本 增加了對測試版支持go1.8。要使用Go 1.8,請在您的app.yaml配置文件中設置api_version:go1.8 in 。您還必須使用App Engine SDK 而不是Cloud SDK。要下載App Engine SDK,請轉至下載 頁面,並在頁面底部展開或者,您可以下載原始App Engine SDK for Go部分的 。

但請注意,即使截至2017年10月3日,它們仍然會打1.8測試版。

2017年10月3日

更新轉到SDK到59年9月1日修正了在dev_appserver.py其中使用 不正確構建約束圍棋1.8測試版。

EDIT2:稍微修改一下後,不要如果goapp version仍然打印1.6.4,則默認爲這個擔心。您必須在app.yamlapi_version: go1.8的目錄中,否則它不會顯示。基本目錄中的goapp是一個腳本,它解析app.yaml以確定要使用哪個版本。

+1

這真是一個驚喜。在google-cloud-sdk> platform> google_appengine下,我看到了「goroot1.6」和「goroot1.8」,所以我假定它們都被支持。 –

+0

找到一些信息,將更新答案。 – RayfenWindspear

+0

@KieranW。不,謝謝!我很高興你注意到了這一點,現在我可以開始移植自己的項目來參與測試。 – RayfenWindspear

相關問題