Terraform のバージョン管理について、
Homebrew から tfenv に切り替えた理由と手順をナレッジとして記録します。
結論(先にまとめ)
- Homebrew では最新の Terraform バージョンを取得できない場合がある
- tfenv を使うことで Terraform のバージョンを柔軟に管理できる
- 複数プロジェクトを扱う場合、tfenv の導入はほぼ必須
発生した問題
以下のような状況に遭遇しました。
- Homebrew で Terraform を管理していた
- Terraform のバージョンが v1.5.7 で止まっていた
- 最新の安定版(例:v1.14.x)へ更新できない
$ terraform version
Terraform v1.5.7
brew upgrade terraform を実行してもバージョンが上がらず、
原因を調べることにしました。
原因:Homebrew では最新版が提供されない
Terraform はライセンス変更の影響により、
Homebrew Core で最新版が提供されない状況があります。
そのため、
brew install terraformbrew upgrade terraform
を実行しても、一定のバージョン以上に更新されないケースが発生します。
👉 この問題は Homebrew の不具合ではなく、配布方針の変更によるものです。
解決策:tfenv を利用する
Terraform の公式推奨に近い形で
バージョン管理ツールである tfenv を利用します。
tfenv のメリット
- Terraform の任意のバージョンをインストール可能
- プロジェクトごとにバージョンを切り替えられる
-
.terraform-versionによるバージョン固定が可能
移行手順(Homebrew → tfenv)
1. Homebrew で管理している Terraform をアンリンク
brew unlink terraform
(アンインストールしても問題ありません)
brew uninstall terraform
2. tfenv のインストール
brew install tfenv
3. Terraform の最新版をインストール
tfenv install latest
4. 使用するバージョンを指定
tfenv use latest
5. バージョン確認
terraform version
期待通り最新版が表示されれば成功です 🎉
プロジェクトごとにバージョンを固定する場合
プロジェクトのルートディレクトリに
.terraform-version ファイルを作成します。
1.14.3
これにより、そのディレクトリ配下では
指定した Terraform バージョンが自動的に使用されます。
まとめ
- Homebrew では Terraform の最新版が取得できないことがある
- tfenv を使うことで柔軟なバージョン管理が可能
- 複数環境・複数プロジェクトを扱う場合は tfenv が安全