- fully transparent
- downloads and installs terraform version
- select terraform version via .terraform-version
- invoke selected terraform through tfvm
- also available as github action setup-tfvm (fully transparent terraform setup)
- Linux (386, amd64, arm64), macOS (amd64, arm64) or Windows (386, amd64)
curl -sL https://raw.githubusercontent.com/cbuschka/tfvm/main/install.sh -o - | sudo bash
curl -sL https://raw.githubusercontent.com/cbuschka/tfvm/main/install.sh -o - | bash
- Download tfvm from latest release to your bin dir
- Make executable
chmod o+x tfvm
- Optionally link to tfvm as terraform
ln -s tfvm terraform
tfvm which
tfvm list
echo "1.3.7" > .terraform-version
tfvm which
"latest" and semver ranges, e.g. >= 1.3.0, <1.4.0
, are also supported.
tfvm terraform version
ln -s tfvm terraform
terraform version
tfvm help
Supported Environment Variables
- Go 1.22.x, Linux or macOS for development
- GNU make >= 4.3
- tfenv (comparison)
- terraform-switcher (comparison)
- renatoassis01/tfvm
- jkehres/tfvm
- terraformw
- tfswitch
- terraform-installer
- tfw
Contributions are welcome!
By contributing you accept to contribute under the license of this project.
- Fork and clone the repository
- Create a feature branch (git checkout -b foobar)
- Commit your changes (git commit -am 'Add feature foobar')
- Make sure the project builds and all tests are passing
- Push to the branch (git push origin foobar)
- Create a new pull request and describe what you want to achieve or fix
Copyright (c) 2020-2021 by Cornelius Buschka.
Special thanks goes to JetBrains s.r.o. for supporting the development of this project with a free IntelliJ IDEA Ultimate license.