tfenvはTerraformのバージョン管理を簡単にするために作ったツールです。rbenvにインスパイアされてます。
現在複数の環境でTerraformを使ってて、それぞれ使っているバージョンが違う場合があるので、バージョンの切り替えを楽にしたい、間違って違うバージョンを使ってしまう事故を防ぎたい(tfstateの互換性が無かったりする場合があるので)という動機で作りました。
使い方(v0.5.x)
Install/Uninstall
GitHubから任意のパスにcloneしてtfenv/bin
にパスを通すだけ。
アンインストールはそのパスを消すだけです。
もしくはMacユーザーの方はHomebrewでもインストールできます
$ brew install tfenv
tfenv install/uninstall
指定したバージョンをインストール/アンインストールしますlatest
で最新版をインストールします。 latest:^0.8
という書き方もでき、この場合0.8系での最新がインストールされます。
$ tfenv install 0.8.0
$ tfenv install latest # latest version
$ tfenv install latest:^0.8 # latest version with Regex
$ tfenv uninstall 0.8.0
shasum
コマンドと keybaseがインストールされていると、よりセキュアにダウンロード可能になります。 参考PR
tfenv use
利用するバージョンを切り替えます。こちらもlatest:^0.8
という書き方ができます。
$ tfenv use 0.8.0
$ tfenv use latest:^0.8 # latest version with Regex
tfenv list
現在インストールしているバージョンを列挙します。
% tfenv list
0.9.0-beta2
0.8.8
tfenv list-remote
インストール可能なバージョンをリモートから取得して列挙します。
% tfenv list-remote
0.9.0-beta2
0.9.0-beta1
0.8.8
0.8.7
0.8.6
...
.terraform-version
rbenvの.ruby-version
と同じような機能で、プロジェクトルートに.terraform-version
というファイルを置いておくとそのファイルに書かれたバージョンを優先して利用します。また、引数なしのtfenv install
でそのバージョンをインストール出来るようになります。
$ echo 0.7.3 > .terraform-version
$ terraform --version
Terraform v0.7.3
$ echo latest:^0.8 > .terraform-version
$ terraform --version
Terraform v0.8.8