tenv 는 하나의 시스템에서 여러 버전의 Terrafom, OpenTofu, Terragrunt, Atomos 을 설치하고 쉽게 전환할 수 있도록 도와주는 도구입니다.
🔗 https://github.com/tofuutils/tenv
관리하는 모든 프로젝트가 Terraform 만을 사용한다면, tenv 보단 tfenv 를 사용하는 것을 권장합니다.
1️⃣ Homebrew를 사용하여 cosign 패키지를 설치합니다.
consign 패키지는 tenv 를 사용하여 Terraform, Terragrunt 등을 설치할 때, Checksum 파일 자체의 진위성을 검증(서명 검증)하는 역할을합니다.
brew install cosign
2️⃣ Homebrew를 사용하여 tfev 패키지를 설치합니다.
brew install tenv
3️⃣ 정상적으로 설치가 완료되었는지, 설치된 tfenv 패키지의 버전을 확인합니다.
tenv version
[출력]
tenv version 4.4.0
1️⃣ tenv 명령어를 입력합니다.
tenv
[출력]
2️⃣ 방향키를 사용하여 [ ] terraform 으로 이동 후 Enter 버튼을 누릅니다.
Which tool do you want to manage ?
[ ] tofu
[ ] terraform
[ ] terragrunt
[ ] atmos
[출력]
3️⃣ 한 번에 원하는 버전을 여러 개 설치하고 제거하려고 한다면 방향키를 사용하여 이동하여 Space 버튼을 누릅니다.
만약 단일 버전만 설치하고 제거하려는 경우, 방향키를 사용하여 해당 버전으로 이동 후 Enter 버튼을 누르면 설치 및 제거됩니다.
Fetching all releases information from https://releases.hashicorp.com/terraform/index.json
Which Terraform version(s) do you want to install(I) or uninstall(U) ? (X mark already installed)
[ ] 1.12.0-beta3
[ ] 1.12.0-beta2
[ ] 1.12.0-beta1
[ ] 1.12.0-alpha20250319
[ ] 1.12.0-alpha20250312
[ ] 1.12.0-alpha20250213
[ ] 1.11.4
[ ] 1.11.3
[출력]
4️⃣ Space 버튼을 누른 버전에 대해서는 [I] 가 된 것을 확인할 수 있습니다. 정상적으로 선택되었다면, Enter 버튼을 눌러 설치를 진행합니다.
Fetching all releases information from https://releases.hashicorp.com/terraform/index.json
Which Terraform version(s) do you want to install(I) or uninstall(U) ? (X mark already installed)
[ ] 1.12.0-beta3
[ ] 1.12.0-beta2
[ ] 1.12.0-beta1
[ ] 1.12.0-alpha20250319
[ ] 1.12.0-alpha20250312
[ ] 1.12.0-alpha20250213
[I] 1.11.4
[I] 1.11.3
1️⃣ 현재 설치된 Terraform 버전을 확인합니다.
tenv tf list
2️⃣ 필요한 Terraform 버전으로 변경합니다.
tenv tf use 1.11.4
3️⃣ 정상적으로 Version이 변경되었는지 확인합니다.
terraform version
[출력]
Terraform v1.11.4