【Windows】gcloudコマンドをコマンドプロンプトじゃなくて、Bashで使いたい!!
皆さんはWindowsでgcloudコマンドを使用する時のシェルは何を使用していますか?
恐らく多くの方はcmd.exe(コマンドプロンプト)で操作しているかと思います。
コマンドプロンプトでの操作に限界を感じている方におすすめの記事となります。
この記事は アイソルート Advent Calendar 9日目の記事です。
こんにちは。
クラウドソリューショングループ新人1)のokawa.mです。初寄稿となります。
環境
今回の記事を寄稿するにあたって、検証した環境となります。
OS | Windows 10 |
Terminal | Git Bash |
ターミナルはGit Bashを使用しています。
環境構築も早く、癖が少ないので重宝しています。
gcloudコマンドインストール方法
google Cloud SDK をインストールすると、gcloudコマンド(その他もろもろ)がインストールされます。
Bashで使用する場合も公式の手順にしたがっていただければ大丈夫です。
正常にインストールが出来ていれば、コマンドプロンプト(Google Cloud SDK Shell)上で実行出来るかと思います。
なにも設定せずにBashでgcloudコマンドを使用すると……?
エラーが発生します。
おおよそのエラーがPythonのPathが通っていない為です。
$ gcloud which: no python2 in (/c/Users/~~~~~ 注釈 ERROR: (gcloud) Command name argument expected. Usage: gcloud [optional flags] <group | command> group may be app | auth | bigtable | builds | components | composer | compute | config | container | dataflow | dataproc | datastore | debug | deployment-manager | dns | domains | endpoints | firebase | functions | iam | iot | kms | logging | ml | ml-engine | organizations | projects | pubsub | redis | services | source | spanner | sql | topic command may be docker | feedback | help | info | init | version For detailed information on this command and its flags, run: gcloud --help
設定の方法
設定は2種類の方法があります。
- PythonのPathを通す
- alias2)の設定
1.PythonのPathを通す
依存関係や手間がかかる為、オススメはしません。
後述するaliasの設定を見ていただければと。
Cloud SDK には、リリース バージョン Python 2.7.9 以降の Python 2 が必要です。インストーラにより、必要な Python バージョンを含むすべての必須依存関係がデフォルトでインストールされます。Python 2.x.y がすでにインストールされており、既存のインストール環境を使用する場合は、Bundled Python をインストールするためのオプションをオフにできます。 – Goolge Cloud SDK インストーラの使用から引用
2.aliasの設定
alias(エイリアス)とは、コマンドに別名を付けることです。
.bashrcにaliasを設定しましょう。
alias gcloud='gcloud.cmd'
上記の設定を行うと、Bashからコマンドプロンプト上のgcloudコマンドを使用することとなり、
エラーで発生していたパスの問題が解決されます。
この方法が一番早く、安全でおすすめです。
以下に設定を行うワンライナーを添えておきます。
$ echo "alias gcloud='gcloud.cmd'" >> ~/.bashrc; source ~/.bashrc
余談
Google Cloud SDKでインストールされたコマンドは、gcloudコマンドと同等の方法で、
設定ができます。
たとえば、BigQueryをCLI上で操作出来るbqコマンドは下記のように設定ができます。
alias bq='bq.cmd'
おわりに
コマンドプロンプトじゃなくて、Bashでgcloudコマンドを使用したい方は、
本ブログを是非参考にしてみてください!!
明日はsato.kさんの「【DialogFlow】手軽にチャットボットが作れる!その魅力とは?」です。
脚注
- いつまで新人と名乗っていいのだろうか
- 関数化でも同じような設定ができます