
こんにちは。よっしーです(^^)
今日は、asdfコマンドを使用したterraformコマンドのインストール方法をご紹介します。
背景
これまで、terraformコマンドはHomebrewを利用してインストールしていました。具体的なインストール手順は、下記の記事に従ってください。
Homebrewだとバージョンを切り替えて使用するのが手間だと思い、下記の理由からasdfコマンドを使用してterraformコマンドをインストールして、使用する方法に切り替えました。
asdf は、複数のプログラミング言語やツールのバージョン管理を効率的に行うためのツールです。一方、 Terraform は、クラウドインフラストラクチャをコード化するためのツールで、AWSやAzure、Google Cloud Platformなどのクラウドプロバイダで使用されます。
asdf を使用して Terraform をインストールすることで、簡単に複数の Terraform のバージョンを切り替えたり、プロジェクトごとに異なるバージョンの Terraform を使用したりすることができます。
具体的には、以下の手順に従って asdf で Terraform をインストールし、使用することができます。
asdfのインストールTerraformプラグインの追加TerraformのインストールTerraformの使用
asdf を使用することで、複数のプロジェクトで異なるバージョンの Terraform を使用する場合でも、簡単に切り替えることができます。また、新しい Terraform のバージョンがリリースされた場合でも、 asdf を使用して簡単にアップグレードすることができます。
terraformコマンドのインストール
下記の手順でインストールしました。
asdf plugin list all | grep terraform
asdf plugin add terraform
asdf list-all terraform
asdf install terraform 1.4.6
asdf list terraform 
terraformコマンドの確認
terraformコマンドのインストールが完了したら、terraformコマンドを使用したいディレクトリに移動して、下記のコマンドを実施します。
cd terraformコマンドを使用したいディレクトリ
asdf local terraform 1.4.6
terraform --version
解説
asdf コマンド
asdf plugin list all | grep terraformasdfで利用可能なすべてのプラグインのリストを表示し、その中からterraformという文字列を含むプラグインのみをフィルタリングして表示します。これにより、terraformのプラグインが既にインストールされているかどうかを確認できます。
asdf plugin add terraformasdfにterraformのプラグインを追加します。これにより、terraformのバージョンをインストールできるようになります。
asdf list-all terraformasdfで利用可能なすべてのterraformのバージョンのリストを表示します。これにより、利用可能なterraformのバージョンを確認できます。
asdf install terraform 1.4.6asdfを使用して、指定されたバージョン(ここでは1.4.6)のterraformをインストールします。このコマンドを実行するには、terraformプラグインが必要なため、この前にasdf plugin add terraformを使用してterraformプラグインを追加しています。
asdf list terraformasdfでインストールされたすべてのterraformのバージョンを表示します。
asdf local terraform 1.4.6- ローカルディレクトリにある 
.tool-versionsファイルに、現在のディレクトリで使用するterraformのバージョンを設定します。asdfを使用して複数のバージョンのterraformを管理している場合、このコマンドを使用して特定のバージョンを選択できます。 
- ローカルディレクトリにある 
 
asdfについては、下記の記事を御覧ください。
おわりに
今日は、asdfを使用したTerraformコマンドのインストール方法をご紹介しました。
ソフトウェアをインストールする際は、asdfでインストールできるかを確認するとよいと思います。バージョン依存のコマンドを使用しないといけない場面を考えると、asdfでバージョン切り替えをできるようにしておくと開発体験の向上が見込めると思います。

何か質問や相談があれば、遠慮なくコメントしてください。また、エンジニア案件についても、いつでも相談にのっていますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
  
  
  
  



コメント