導入
homebrew-terraformなにそれ?
pyenv、rbenvがpythonやrubyのバージョン管理、スイッチができるようにterraformのバージョン管理、スイッチを行なうためのものです。
出会い
terraformがバージョンごとに変更が激しいと風のうわさで聞く前に、間違って homebrew upgrade
をしてしまった。
元のバージョンに戻したい。でも、homebrewじゃもう再インストール無理。
利点・欠点
利点
Terraformのバージョンを変更できる
当たり前です。そのためのツールです。
インストール済みのTerraformのバージョン一覧が見れる
pyenv、rbenvとかにもあるやつ。あるとたまに便利です。
欠点
helpがない
helpコマンドを叩くとhelpになってないhelpが出て来る。泣きそう。
ドキュメントがない
初期導入の流れまでしか載ってません。泣けてくる
使えるバージョンがわからない
すでに落としてるバージョンはわかりますが、まだ落としていないバージョンはわからないので、homebrew-terraforms
のCasksを覗くか、Terraformの公式サイトで確認してください。
homebrew-terraforms: 使えるバージョン一覧
terraform: 過去バージョン一覧
環境変数がおかしい
バージョン管理の一部でhomebrew-caskを使ってるのですが、自分のhomebrew-caskと違うところが指定されてた。デフォルトの状態だとterraformをインストールするところまでしか動かなかった。
ハマった。
説明書
導入
tapを登録する
brew tap Yleisradio/terraforms
を実行。独自tapを登録chtr (homebrew-terraform) をインストール。
brew install chtf
を実行環境変数
CASKROOM
のパスを修正
環境変数CASKROOM
が、/usr/local/Caskroom
になってました。
brew cask install
のインストール先のディレクトリがこれと異なる場合は個々で設定が必要chtrにパスを通す
以下を.bashrc
や.zshrc
にコピペ。
# Source chtf
if [[ -f /usr/local/share/chtf/chtf.sh ]]; then
source "/usr/local/share/chtf/chtf.sh"
fi
使い方
使いたいバージョンを指定する
chtf (使いたいバージョン)
使いたいバージョンがローカルにない場合は自動でインストールされる
インストール済みのバージョン一覧を取得
chtf
手動でインストールしたterraformに戻す
chtf system
chtfのバージョン確認
chtf --version
もしくは chtf -V
使えないヘルプ
chtf --help
もしくは chtf -h
ちなみにこんなのが出る
usage: chtf [VERSION | system]
Appendix
実行できないって言われたら
chtf: Installing Terraform version 0.8.8
Warning: A Cask for terraform-0.8.8 is already installed.
To re-install terraform-0.8.8, run:
brew cask reinstall terraform-0.8.8
chtf: /usr/local/Caskroom/terraform-0.8.8/0.8.8/terraform not executable
安心してください。インストールはできてます。
環境変数CASKROOM
をhomebrew-caskのインストール先に揃えてください。そしたら動くはず。
ここまで読んでもらって何ですが...
tfenvのほうが良さげです。
brew tap
もいらないようですし。
helpも親切ですし...
軽さこそ正義!!とか全部homebrew(&cask)で管理したいんだよ!!っていうひとが、homebrew-terraformを使ったらいいんじゃないかと思います