How to Install Terraform on Windows
Terraform, a widely embraced tool in the Linux community, has seamlessly extended its reach to Windows. To ensure a smooth installation process, make sure you have PowerShell version 4 or later installed. While it’s explicitly recommended for Windows 10/11 Desktop, Windows Server 2012, and Windows Server 2016, it may also be compatible with other Windows versions, though untested.
The Easy Way To Install Terraform on Windows
The easiest way to install Terraform on Windows is to use the Chocolatey package manager.
Step 1 – Enable Chocolatey on your Windows Desktop
To use Chocolatey, you need to have it installed on your desktop
First, check if you have it installed. Open PowerShell and type:
choco
You should see output like this:
PS C:\Windows\system32> choco
Chocolatey v2.2.2
Please run 'choco -?' or 'choco <command> -?' for help menu.
If you get no response or an error, you need to install Chocolatey.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
If Chocolatey is already installed, you will get this message:
WARNING: 'choco' was found at 'C:\ProgramData\chocolatey\bin\choco.exe'.
WARNING: An existing Chocolatey installation was detected. Installation will not continue. This script will not
overwrite existing installations.
If there is no Chocolatey installation at 'C:\ProgramData\chocolatey', delete the folder and attempt the installation
again.
Please use choco upgrade chocolatey to handle upgrades of Chocolatey itself.
If the existing installation is not functional or a prior installation did not complete, follow these steps:
- Backup the files at the path listed above so you can restore your previous installation if needed.
- Remove the existing installation manually.
- Rerun this installation script.
- Reinstall any packages previously installed, if needed (refer to the lib folder in the backup).
Once installation is completed, the backup folder is no longer needed and can be deleted.
Step 2 – Install Terraform Via Chocolatey
choco install terraform
When Prompted – type A for ALL
Upon completion, you should see the following output:
PS C:\Windows\system32> choco install terraform
Chocolatey v2.2.2
Installing the following packages:
terraform
By installing, you accept licenses for the packages.
Progress: Downloading terraform 1.7.0... 100%
terraform v1.7.0 [Approved]
terraform package files install completed. Performing other installation steps.
The package terraform wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): a
Removing old terraform plugins
Downloading terraform 64 bit
from 'https://releases.hashicorp.com/terraform/1.7.0/terraform_1.7.0_windows_amd64.zip'
Progress: 100% - Completed download of C:\Users\richi\AppData\Local\Temp\chocolatey\terraform\1.7.0\terraform_1.7.0_windows_amd64.zip (25.05 MB).
Download of terraform_1.7.0_windows_amd64.zip (25.05 MB) completed.
Hashes match.
Extracting C:\Users\richi\AppData\Local\Temp\chocolatey\terraform\1.7.0\terraform_1.7.0_windows_amd64.zip to C:\ProgramData\chocolatey\lib\terraform\tools...
C:\ProgramData\chocolatey\lib\terraform\tools
ShimGen has successfully created a shim for terraform.exe
The install of terraform was successful.
Software installed to 'C:\ProgramData\chocolatey\lib\terraform\tools'
Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
PS C:\Windows\system32>
Step 3 – Run Terraform on Windows
Now, simply type Terraform in your PowerShell window, and it should all be good to go.
PS C:\Windows\system32> terraform
Usage: terraform [global options] <subcommand> [args]
The available commands for execution are listed below.
The primary workflow commands are given first, followed by
less common or more advanced commands.
Main commands:
init Prepare your working directory for other commands
validate Check whether the configuration is valid
plan Show changes required by the current configuration
apply Create or update infrastructure
destroy Destroy previously-created infrastructure
All other commands:
console Try Terraform expressions at an interactive command prompt
fmt Reformat your configuration in the standard style
force-unlock Release a stuck lock on the current workspace
get Install or upgrade remote Terraform modules
graph Generate a Graphviz graph of the steps in an operation
import Associate existing infrastructure with a Terraform resource
login Obtain and save credentials for a remote host
logout Remove locally-stored credentials for a remote host
metadata Metadata related commands
output Show output values from your root module
providers Show the providers required for this configuration
refresh Update the state to match remote systems
show Show the current state or a saved plan
state Advanced state management
taint Mark a resource instance as not fully functional
test Execute integration tests for Terraform modules
untaint Remove the 'tainted' state from a resource instance
version Show the current Terraform version
workspace Workspace management
Global options (use these before the subcommand, if any):
-chdir=DIR Switch to a different working directory before executing the
given subcommand.
-help Show this help output, or the help for a specified subcommand.
-version An alias for the "version" subcommand.
PS C:\Windows\system32>
Step 4 – Basic Terraform Commands To Get Started
Core Workflow Commands:
terraform init
: Initializes your Terraform working directory. This downloads provider plugins, sets up the backend, and prepares your project for use.terraform validate
: Checks the syntax and structure of your configuration files (*.tf
) for errors. Always run this before applying changes.terraform plan
: Creates an execution plan, showing you what changes Terraform would make to your infrastructure. This is a dry run; no actual changes are applied.terraform apply
: Applies the changes outlined in the plan. This is where Terraform provisions or modifies your resources.terraform destroy
: Destroys the infrastructure managed by Terraform. Use this with caution as it permanently deletes resources.
Additional Useful Commands:
terraform fmt
: Formats your configuration files to a standardized style, improving readability.terraform show
: Displays the current state of your managed infrastructure.terraform output
: Shows the outputs defined in your configuration (useful for retrieving values like IP addresses).terraform taint
: Marks a resource for recreation on the next apply.terraform state
: Allows you to inspect and manipulate the Terraform state file, which tracks the current status of your resources.
Working with Providers:
terraform providers
: Lists the providers used in your configuration.terraform providers schema -json
: Gets the schema of a provider in JSON format (useful for understanding available resources and attributes).
Example Workflow:
- Create a directory for your Terraform project.
- Create
main.tf
and define your infrastructure (e.g., an AWS EC2 instance). - Run
terraform init
. - Run
terraform validate
to check for errors. - Run
terraform plan
to preview changes. - If the plan looks good, run
terraform apply
to create the resources. - When you’re done, run
terraform destroy
to clean up (if you’re in a testing environment).
Installing Terraform on Windows Q&A
Q: What is Terraform, and why should I use it?
A: Terraform is an open-source infrastructure as code (IaC) tool created by HashiCorp. It allows you to define and manage your infrastructure resources (servers, databases, networks, etc.) in a declarative way, using a simple configuration language. This makes it easier to version, automate, and collaborate on infrastructure changes.
Q: What are the system requirements for Terraform on Windows?
A: Terraform runs on Windows 7 or later. It requires no special software or libraries, just a command-line environment (PowerShell or Command Prompt).
Q: Where can I download Terraform for Windows?
A: You can download the latest version of Terraform for Windows from the official HashiCorp website: https://www.terraform.io/downloads.html
Q: How do I install Terraform on Windows?
- Download the Terraform zip archive for Windows.
- Extract the contents of the zip file to a directory of your choice (e.g.,
C:\Program Files\terraform
). - Add the directory containing the
terraform.exe
file to your system’s PATH environment variable. This allows you to run Terraform from any location in your command line.
Q: How do I verify that Terraform is installed correctly?
A: Open a new command prompt or PowerShell window and type terraform -version
. You should see the installed version of Terraform printed out.
Q: How do I update Terraform on Windows?
A: To update Terraform, simply download the latest version and replace the existing terraform.exe
file in your installation directory. Make sure your PATH variable still points to the correct location.
Q: Where can I find more information and help on Terraform?
A: The official Terraform documentation is an excellent resource: https://www.terraform.io/docs You can also find a wealth of information, tutorials, and examples online, as well as community forums for getting help.
Q: What are some common issues people face when installing Terraform on Windows?
A:
Incorrect PATH: Make sure the directory containing terraform.exe
is in your PATH.
Execution Policy: In PowerShell, you might need to adjust your execution policy to allow running Terraform.
Antivirus: Some antivirus software might flag or block Terraform. You might need to add an exception for it.
If you encounter any problems, refer to the troubleshooting section in the Terraform documentation or seek help online.
I hope this Q&A helps you with installing and getting started with Terraform on Windows!
3 Responses
[…] How to Install Terraform on Windows […]
[…] Learn how to install Terraform on Windows here. […]
[…] Terraform also works on Windows 10 Desktop and Windows Server products. Click here for a guide to install on Windows. […]