Help us understand the problem. What is going on with this article?

google cloud sdkを190.0.1にバージョンアップしたら `goapp cannot import name goroots` のエラーが発生した

More than 1 year has passed since last update.

今日、 google cloud sdk190.0.1 にバージョンアップしたら、 goapp cannot import name goroots というエラーが出た。

再インストールしたりしても直らなかったため備忘録として。

原因

${GCLOUD_SDK_ROOT}/platform/google_appengine/google/appengine/tools から goroots.py というスクリプトが消えてた。

対応

過去のバージョンを参考に、下記のスクリプトを追加した。

${GCLOUD_SDK_ROOT}/platform/google_appengine/google/appengine/tools/goroots.py
GOROOTS = {
    'go1': 'goroot-1.8',
    'go1.6': 'goroot-1.6',
    'go1.8': 'goroot-1.8',
}

とりあえずこれで動く。

他にいい対応あるかもしれないし、もしかしたら僕の環境でしか発生しないかもしれないけど、誰か何か知ってたら教えてください。

追記 Google Cloud SDK の goapp コマンドについて

golang/appengine#124 (comment)より

goapp is not supported when run from the gcloud sdk. If you still must use it, please use the legacy SDK by going to https://cloud.google.com/appengine/docs/standard/go/download and clicking "Download and install the original App Engine SDK for Go."

このコメント見る感じ、なんか今後修正されなさそうな気配がするため、今後は goapp 使わない方がいい気がする。
goapp コマンド使えなくても対して困らない気はするけど、CIとかでテストとかデプロイにgoappコマンド使ってるケースもあると思うので、既存のプロダクトは気をつけた方がよさそう。

ryutah
topgate
Google技術を中心に取り扱う技術者集団
https://www.topgate.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away