goappコマンドを入れ直した話

Overview

GAEを使う場合、localにapp-engineのSDKを入れる必要があります。
少し前までは brew install app-engine-go-64 を叩くと goapp コマンドがlocalにinstallされ、使うことができましたが、ある時から formulla から消えてしまい、brew 経由でDLすることができなくなりました。最新のツールを使ってないと、新しくGCPで使える機能が使えなかったりするので最新の状態に保ちたいと思います。

brewで入れられなくなって以降、goapp コマンドは Google Cloud SDK 経由で入れるようになっています。

Google Cloud SDK経由で入れる

手順は以下の3つ

  1. Google Cloud SDK を入れる。
  2. AppEngineのSDKを入れる。
  3. Google Cloud SDK経由で入れたAppEngineのSDKにpathを通す。

以上です。

Google Cloud SDK を入れる。

※ GoのSDKを使います。

以下からinstallすると gcloud コマンドが使えるようになります。

https://cloud.google.com/appengine/docs/standard/go/download

AppEngineのSDKを入れる。

gcloud component install app-engine-go

※ 上記SE(Standard Environment)のinstall方法に記載してるとおりです。

ちなみにGCP関連の全てのSDKを突っ込む場合は

gcloud component update

すると全て入ります。

Google Cloud SDK経由で入れたAppEngineのSDKにpathを通す。

Google Cloud SDK で入れたAppEngineのSDKにpathを通します。

Google Cloud SDKで入れたSDK郡が入っているpathは個々人の環境で差があると思います。
僕の場合は /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine にあります。

これをshellの設定ファイルにPATHとして登録します。自分はfishを使っているので以下のようになります。

set -x PATH /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine $PATH

最後に google_appengine 配下にあるコマンド郡の権限を設定します。

ex) appengineの場合goappコマンドに対して実行権限を付与します。

chmod -x /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine/goapp

デプロイする場合は appcfg.py に実行権限付与します。

これで最新のツールを揃えることができます。