ターゲットと目的
gcloudコマンドをfishから操作したいけど、どう設定したら良いのかわからない!ってなった自分向け。
前提条件
- fishがインストール済み
手順
gcloudを対話型コンソールでインストール
公式ドキュメントに従って対話型コンソールでインストール。
$ curl https://sdk.cloud.google.com | bash
実行するとインストール先のパスの確認などが入るが適宜自分好みに入力していく。
今回はホームディレクトリ直下に配置する。
デフォルトのshellをみてくれているのか、最後にconfig.fish
へ設定を追記するかの確認が出るのでそのままエンターを押すことでパスを通してくれた。
> [/Users/{ホームディレクトリ}/.config/fish/config.fish]:
実行結果
Backing up [/Users/{ホームディレクトリ}/.config/fish/config.fish] to [/Users/{ホームディレクトリ}/.config/fish/config.fish.backup].
[/Users/{ホームディレクトリ}/.config/fish/config.fish] has been updated.
config.fishに以下の内容が追記される
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/{ホームディレクトリ}/google-cloud-sdk/path.fish.inc' ]; if type source > /dev/null; source '/Users/{ホームディレクトリ}/google-cloud-sdk/path.fish.inc'; else; . '/Users/{ホームディレクトリ}/google-cloud-sdk/path.fish.inc'; end; end
バージョン管理アーカイブでインストール
もう一つのインストール手段としてバージョン管理アーカイブがある。こちらは特定のバージョンでCloud SDKを使いたい場合のインストール手段。
こちらでは記述時点のバージョン(145.0.0)ではpath.fish.incが無い。なのでedc/bassを使ってpath.bash.incを使って解決する方法を記述する。
バージョン管理アーカイブでインストールする手順書の前提条件
- fisherman、fundleでedc/bassをインストール済みである(リンク先にインストール手順があります)
- 使用バージョンは145.0.0
- インストール対象ディレクトリは同様にホームディレクトリ直下(慣れてる人は適宜好きなディレクトリに置いて、手順を読み替えて下さい)
- wgetがインストール済み
- 今回は
.config/fish/config.fish
に設定を追記します。
バージョン管理アーカイブインストール手順
公式サイトリンクから対象バージョンをダウンロードしてホームディレクトリ直下に解凍する。
ダウンロード
例としてMac版145.0.0を使用します。
$ wget 'https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-145.0.0-darwin-x86_64.tar.gz'
解凍
$ tar -xzf google-cloud-sdk-145.0.0-darwin-x86_64.tar.gz
インストーラーを起動
$ cd google-cloud-sdk
$ ./install.sh
対話型コンソールと同様に色々確認が入るが適宜エンターを押していく。
最後に.bash_profileへパスの追記確認が入るのでエンターを押す。
fishにパスを通す
上記までの手順でbashにパスが通ったが、fishにはまだパスが通っていない。
fishのコンフィグに追記する
vi ~/.config/fish/config.fish
.bash_profileに通されているパスの記述を参考にしつつ以下のように.config/fish/config.fish
に追記する
bass source '/Users/{ホームディレクトリ}/google-cloud-sdk/path.bash.inc'
bass source '/Users/{ホームディレクトリ}/google-cloud-sdk/completion.bash.inc'
edc/bassのおかげでbashの設定を使うことができる。
これで設定を読み直せばgcloudコマンドが使えます。
$ gcloud