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
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.