homebrewterraform

Upgrade terraform to specific version


Use case

I have installed Terraform v0.11.13 via homebrew and as recommended by terraform I want to ugprade to version v0.11.14 before doing the major upgrade to v0.12.0.

The problem

When I run brew upgrade terraform or download the Mac package from the terraform website it would immediately update my terraform version to v0.12.0 I think.

So how can I upgrade to v0.11.14 instead?


Solution

  • Especially when playing around with Terraform 0.12 betas, I learned to love tfenv.

    After installation (via brew install tfenv on MacOS), this allows you to easily discover, install and activate any Terraform version:

    $ tfenv list-remote
    0.12.0
    0.12.0-rc1
    0.12.0-beta2
    0.12.0-beta1
    0.12.0
    0.11.14
    ...
    
    $ tfenv install 0.11.14
    [INFO] Installing Terraform v0.11.14
    [INFO] Downloading release tarball from https://releases.hashicorp.com/terraform/0.11.14/terraform_0.11.14_darwin_amd64.zip
    ...
    [INFO] Installation of terraform v0.11.14 successful
    [INFO] Switching to v0.11.14
    [INFO] Switching completed
    

    If you want to manually switch to a different version:

    $ tfenv use 0.12.0
    [INFO] Switching to v0.12.0
    [INFO] Switching completed
    

    Alternatively, adding .terraform-version file makes tfenv automatically switch to the right version for a given directory and it will even take care of auto-installing the correct version if not already installed.