Установка Terraform

Опубликовано

На все данные актуальны

Актуальные релизы Terraform и инструкции по установке доступны на официальном сайте HashiCorp.

Если у вас возникли сложности при установке, создайте issue в репозитории Terraform на GitHub или напишите на discuss.hashicorp.com.

Ниже для удобства пользователей приведены способы установки Terraform на основные операционные системы. Эти инструкции могут потерять актуальность, поэтому при расхождениях рекомендуется руководствоваться инструкциями, опубликованными на официальном сайте.

Перед установкой

Выберите один из способов установки для своей ОС. Для новой установки используйте стабильный выпуск Terraform. Если вы работаете с существующим проектом, учитывайте принятую в нём версию Terraform и ограничение required_version, если оно задано.

Команды пакетных менеджеров ниже устанавливают доступную в выбранном репозитории версию. Если требуется определённый выпуск, скачайте его из каталога релизов Terraform и используйте ручную установку. Подробнее об ограничении версии см. в документации блока terraform.

При ручной установке выберите ZIP-архив для своей операционной системы и архитектуры процессора:

Операционная системаАрхитектураОбозначение в архиве
Linuxx86-64 (Intel / AMD)linux_amd64
LinuxARM64linux_arm64
macOSIntel x86-64darwin_amd64
macOSApple Silicondarwin_arm64
Windowsx86-64 (Intel / AMD)windows_amd64
WindowsARM64windows_arm64

Сборка windows_arm64 есть не во всех версиях Terraform. Если её нет, на Windows 11 с ARM64 можно использовать windows_amd64 под эмуляцией. Провайдеры должны поддерживать платформу установленного Terraform.

Для старой ОС выбирайте совместимый выпуск: ручная установка не отменяет требований Terraform к системе и архитектуре. Перед распаковкой проверьте архив, как описано ниже.

Если ресурсы HashiCorp недоступны

Если сайты загрузки или репозитории HashiCorp недоступны из вашей сети, в том числе из-за ограничений доступа из России, используйте ручную установку из зеркала Yandex Cloud: https://hashicorp-releases.yandexcloud.net/terraform/. Если ресурсы HashiCorp доступны, используйте обычные способы установки, приведённые ниже.

Ошибки HTTP 403 или 405 могут сопровождать ограничения доступа, но сами по себе не указывают на их причину. При недоступности соответствующего сервера HashiCorp установка через пакетный менеджер тоже может завершиться ошибкой: APT и DNF/YUM используют репозитории HashiCorp, а Homebrew и пакет Chocolatey загружают оттуда дистрибутивы.

Зеркало содержит ZIP-архивы для ручной установки и не заменяет адреса репозиториев в командах APT или DNF/YUM. Проверьте наличие нужной версии и платформы. Набор файлов может отличаться от официального каталога; Yandex Cloud также предупреждает о возможной недоступности зеркала. Файлы из зеркала проверяйте по той же процедуре, что и файлы с сайта HashiCorp.

Загрузка провайдера после установки Terraform

Если при terraform init недоступен реестр провайдеров HashiCorp, потребуется отдельно настроить источник пакетов провайдера. Зеркало ZIP-архивов Terraform эту задачу не решает. Yandex Cloud публикует отдельное зеркало провайдеров по адресу https://terraform-mirror.yandexcloud.net/. Используйте его, только если в нём есть нужная версия провайдера OpenStack для платформы установленного Terraform.

Настройте источник пакетов в файле ~/.terraformrc для Linux/macOS или %APPDATA%/terraform.rc для Windows и сохраните изменения перед выполнением terraform init. Если предыдущий запуск завершился ошибкой загрузки провайдера, после настройки повторите команду в каталоге проекта. Формат provider_installation и network_mirror описан в документации Terraform CLI. Учитывайте уже существующие настройки этого файла.

Проверка скачанного архива

Этот подраздел нужен при ручной установке из официального каталога или зеркала. Для примеров взята версия 1.16.5; это не требование использовать именно её. Замените номер версии и обозначение платформы в именах файлов на выбранные вами.

  1. Скачайте ZIP-архив, файл контрольных сумм и его подпись из каталога одного и того же релиза. Например, для Linux x86-64:
    terraform_1.16.5_linux_amd64.zip
    terraform_1.16.5_SHA256SUMS
    terraform_1.16.5_SHA256SUMS.sig


    Сохраните файлы в одной папке и откройте в ней терминал или PowerShell. Файл SHA256SUMS содержит контрольные суммы архивов для всех платформ этого выпуска. Не используйте список от другой версии.
  2. Проверьте подпись файла контрольных сумм. Для этого нужна команда gpg из GnuPG. Если она недоступна, установите GnuPG: в Linux через пакетный менеджер вашей ОС, в macOS или Windows через подходящий дистрибутив со страницы загрузки GnuPG.

    Скачайте публичный ключ HashiCorp и сохраните его в ту же папку как pgp-key.txt. Если сайт HashiCorp недоступен, скачайте ключ из профиля HashiCorp на Keybase и сохраните его с тем же именем pgp-key.txt. Импортируйте ключ и выведите отпечатки основного ключа и его подключей:
    gpg --import pgp-key.txt
    gpg --fingerprint --fingerprint 34365D9472D7468F


    Сравните отпечаток основного ключа с разделом "PGP public key" на странице безопасности HashiCorp. На дату актуализации документа он следующий:
    C874 011F 0AB4 0511 0D02 1055 3436 5D94 72D7 468F

    Это ключ подписи релизов, отдельный от ключа Linux-репозиториев в разделе Debian / Ubuntu. Продолжайте только при совпадении отпечатка. Проверьте подпись:

    gpg --verify terraform_1.16.5_SHA256SUMS.sig terraform_1.16.5_SHA256SUMS

    Должно появиться сообщение об успешной проверке подписи (Good signature) основным ключом HashiCorp или одним из его подключей. Предупреждение о неизвестном доверии к ключу само по себе не означает неверную подпись. При ошибке подписи или несовпадении отпечатка основного ключа не продолжайте установку до выяснения причины. Подробности приведены в руководстве HashiCorp.

    В строке using RSA key указан идентификатор или отпечаток ключа подписи. Если это подключ, его отпечаток отличается от отпечатка основного ключа. Сверяйте Primary key fingerprint с отпечатком выше. Если GPG не выводит эту строку, найдите ключ подписи в ранее выведенном списке: основной ключ обозначен pub, подключи - sub. Продолжайте установку, только если подпись принадлежит проверенному основному ключу или одному из его подключей.

    Если GPG показывает, что срок основного ключа 34365D9472D7468F истёк 18 апреля 2026 года, заново скачайте актуальный файл pgp-key.txt по одной из ссылок выше и повторите импорт. HashiCorp продлила срок этого ключа до 1 марта 2030 года, сохранив его отпечаток. После обновления повторите проверку подписи.
  1. Проверьте SHA-256 скачанного ZIP-архива.
    Выполняйте команды в папке со скачанным ZIP-архивом и файлом SHA256SUMS, подпись которого уже проверена. Укажите точное имя своего архива. Если выбрана другая версия Terraform, замените её номер также в имени файла SHA256SUMS.

    В Linux используйте следующие команды. Пример для AMD64:
    archive=terraform_1.16.5_linux_amd64.zip
    awk -v name="archive"'2 == name || $2 == ("*" name)' \
      terraform_1.16.5_SHA256SUMS | sha256sum -c -


    В macOS используйте следующие команды. Пример для Apple Silicon:
    archive=terraform_1.16.5_linux_amd64.zip
    awk -v name="archive"'2 == name || $2 == ("*" name)' \
      terraform_1.16.5_SHA256SUMS | sha256sum -c -


    Команды выбирают строку только для указанного архива и автоматически проверяют его сумму. При успехе появится строка с именем архива и результатом OK (или сообщением об успехе на языке системы). Результат FAILED, ошибка чтения файла или сообщение об отсутствии корректной строки контрольной суммы означают, что проверка не пройдена.

    В Windows вставьте в PowerShell весь блок целиком. Пример для AMD64: при необходимости измените $version и обозначение платформы в $archive.
    & {
    $ErrorActionPreference = "Stop"
    $version = "1.16.5"
    $archive = "terraform_${version}_windows_amd64.zip"
    $sums = "terraform_${version}_SHA256SUMS"

    $hash = (Get-FileHash -LiteralPath $archive -Algorithm SHA256).Hash
    $pattern = "^$hash\s+\*?" + [regex]::Escape(archive)+""

    if (Select-String -LiteralPath $sums -Pattern $pattern -Quiet) {
        "SHA256 совпадает."
    } else {
        throw "SHA256 не совпадает или имя архива не найдено."
    }
    }


    Сообщение "SHA256 совпадает." означает, что совпали и сумма, и полное имя архива. При несовпадении или отсутствии нужной строки блок выдаст ошибку. Ошибки чтения файлов также прерывают проверку.

    Продолжайте установку только после успешной проверки. При расхождении не распаковывайте архив. Проверка суммы дополняет проверку подписи: сама по себе она не подтверждает подлинность скачанного списка SHA256SUMS.

Linux / macOS

Установка с использованием пакетных менеджеров

Debian / Ubuntu

Инструкция предназначена для Debian 12 и 13, Ubuntu 22.04 LTS, 24.04 LTS и 26.04 LTS. Наличие репозитория для своего выпуска можно проверить в каталоге HashiCorp APT. Если вашего выпуска там нет, используйте ручную установку совместимой версии Terraform.

Репозиторий HashiCorp является сторонним для APT, поэтому его GPG-ключ нужно вручную добавить в систему и проверить отпечаток до подключения репозитория. Проверка помогает подтвердить источник ключа; затем APT использует этот ключ для проверки подписи метаданных репозитория.

Если репозиторий HashiCorp уже подключён и apt update сообщает об ошибке его подписи или отсутствующем ключе, повторите шаги 3-5, затем снова выполните sudo apt update. Это относится именно к ошибке репозитория HashiCorp.

  1.  Обновите список доступных системе пакетов:
    sudo apt update
  1. Проверьте наличие и установите пакеты gnupg, ca-certificates, wget:
    sudo apt install -y gnupg ca-certificates wget

    Назначение пакетов следующее:
    gnupg - утилиты для шифрования и цифровой подписи (GnuPG).
    ca-certificates - набор доверенных корневых сертификатов для HTTPS.
    wget - консольная загрузка файлов по HTTP, HTTPS и FTP.
  2. Скачайте и сохраните GPG-ключ HashiCorp:
    wget -O- https://apt.releases.hashicorp.com/gpg | \
      sudo gpg --yes --dearmor \
      -o /usr/share/keyrings/hashicorp-archive-keyring.gpg


    Если файл ключа уже существует, эта команда заменит его. На следующих шагах обязательно проверьте отпечаток сохранённого ключа.
  3. Отобразите отпечаток GPG-ключа добавляемого APT-репозитория HashiCorp:
    gpg --no-default-keyring \
      --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg \
      --fingerprint


    Команда выведет сведения о ключе. Строка с последовательностью шестнадцатеричных символов ниже pub является отпечатком основного ключа. На дату актуализации документа HashiCorp публикует следующий отпечаток:
    D55C 0D1A C78A 8D81 26CB 631C FC9C A96A CA02 6560
  4. Сравните полученный отпечаток с актуальным значением на странице безопасности HashiCorp в разделе "Linux Package Checksum Verification". Продолжайте только при совпадении. Если значения отличаются, выясните причину расхождения: ключ мог быть обновлён после публикации инструкции.
  1. Добавьте репозиторий HashiCorp:
    echo "deb [arch=$(dpkg --print-architecture) \
    signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
    https://apt.releases.hashicorp.com \
    (./etc/os-release&&echo"{UBUNTU_CODENAME:-$VERSION_CODENAME}") main" | \
    sudo tee /etc/apt/sources.list.d/hashicorp.list

  2. Снова обновите список доступных системе пакетов:
    sudo apt update
  1. Установите Terraform:
    sudo apt install -y terraform

RHEL / CentOS / AlmaLinux / Rocky Linux / Amazon Linux

Инструкция ниже предназначена для RHEL 8, 9 и 10, CentOS Stream 9 и 10, AlmaLinux 8, 9 и 10, Rocky Linux 8, 9 и 10, Amazon Linux 2023, а также для существующих систем на Amazon Linux 2.

Актуальные варианты подключения репозитория описаны в руководстве HashiCorp по пакетам и в инструкции по установке Terraform.

Для AlmaLinux и Rocky Linux используется репозиторий HashiCorp для соответствующей основной версии RHEL. AlmaLinux и Rocky Linux совместимы с RHEL, но отдельно не перечислены в таблице поддерживаемых дистрибутивов HashiCorp. Если пакет недоступен для вашей версии или архитектуры, используйте ручную установку из ZIP-архива.

  1. Установите утилиты для управления репозиториями.

    Для RHEL 8-10, AlmaLinux 8-10, Rocky Linux 8-10, CentOS Stream 9/10 и Amazon Linux 2023:
    sudo dnf install -y dnf-plugins-core

    Для Amazon Linux 2:
    sudo yum install -y yum-utils
  2. Добавьте официальный репозиторий HashiCorp.

    Для RHEL 8-10, AlmaLinux 8-10, Rocky Linux 8-10 и CentOS Stream 9/10:
    sudo dnf config-manager --add-repo \
      https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo


    Для Amazon Linux 2023:
    sudo dnf config-manager --add-repo \
      https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo


    Для Amazon Linux 2:
    sudo yum-config-manager --add-repo \
      https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  3.  Установите Terraform.

    Для RHEL 8-10, AlmaLinux 8-10, Rocky Linux 8-10, CentOS Stream 9/10 и Amazon Linux 2023:
    sudo dnf install terraform

    Для Amazon Linux 2:
    sudo yum install terraform

    Если менеджер пакетов предложит импортировать GPG-ключ HashiCorp, сравните показанный отпечаток с актуальным значением в разделе "Linux Package Checksum Verification" на странице безопасности HashiCorp (см. также раздел Debian / Ubuntu выше). Подтверждайте импорт только при совпадении. Если нужный ключ уже импортирован, повторный запрос может не появиться

Поддержка Amazon Linux 2 завершилась 30 июня 2026 года. Вариант установки для этой ОС оставлен для существующих систем. Если репозиторий или нужный пакет недоступен, используйте ручную установку совместимой версии Terraform из ZIP-архива.

Для RHEL 7, CentOS Linux 7 и 8 и CentOS Stream 8 используйте ручную установку совместимой версии Terraform. Эти выпуски не входят в приведённый выше набор актуальных вариантов подключения репозитория. Архивные пакеты HashiCorp доступны на странице HashiCorp Linux Package Archives.

Fedora

Установка через репозиторий подходит для выпусков Fedora, перечисленных в каталоге пакетов HashiCorp. На 26 октября 2026 года это Fedora 43 и 44. Если вашего выпуска там нет, используйте ручную установку совместимой версии Terraform.

Ниже приведены команды для DNF5. Его команда подключения репозитория отличается от команды DNF4 в разделе RHEL. Для управления репозиториями нужен пакет dnf5-plugins.

  1. Установите плагины DNF5 для управления репозиториями:
    sudo dnf install -y dnf5-plugins
  2. Добавьте официальный репозиторий HashiCorp:
    sudo dnf config-manager addrepo \
      --from-repofile=https://rpm.releases.hashicorp.com/fedora/hashicorp.repo
  1. Установите Terraform:
    sudo dnf install terraform

Если DNF предложит импортировать GPG-ключ HashiCorp, подтвердите импорт только после сверки отпечатка со страницей безопасности HashiCorp, как описано в разделе RHEL. Если нужный ключ уже импортирован, запрос может не появиться.

Для выпусков без актуального репозитория HashiCorp

Для Fedora 40, 41 и 42, а также других выпусков этой группы выберите совместимую версию Terraform с учётом ограничений проекта, включая required_version, если оно задано. Скачайте ZIP-архив для Linux: linux_amd64 для x86-64 или linux_arm64 для ARM64. Проверьте и установите его по подразделу "Ручная установка дистрибутива", затем выполните terraform version. Источники загрузки и требования к архиву приведены в разделе "Перед установкой".

Архивные RPM-пакеты для старых выпусков Fedora также доступны в архиве пакетов HashiCorp для Fedora. Наличие пакета в архиве не означает, что для этой версии ОС продолжает работать текущий репозиторий или выпускаются новые пакеты.

Homebrew (macOS и Linux)

  1. Проверьте доступность Homebrew. Откройте терминал и выполните команду:
    brew --version
    Если команда выводит версию Homebrew, переходите к шагу 2.

    Если Homebrew ещё не установлен, установите его по инструкции Homebrew, учитывая требования к версии ОС. Выполните команды из раздела Next steps установщика для настройки PATH, затем повторите brew --version.

    Если Homebrew уже установлен, но терминал не находит brew, проверьте настройку PATH по указаниям после установки и повторите проверку.
  1. Подключите репозиторий пакетов HashiCorp (tap):
    brew tap hashicorp/tap
  2. Установите Terraform:
    brew install hashicorp/tap/terraform

Ручная установка дистрибутива

  1. Скачайте с официального сайта HashiCorp ZIP-архив для вашей операционной системы и архитектуры процессора. Если нужен определённый выпуск, выберите его в каталоге релизов. Если ресурсы HashiCorp недоступны, используйте зеркало Yandex Cloud при наличии нужного выпуска. Проверьте файлы по подразделу "Проверка скачанного архива".
  2. Выведите на экран список каталогов, в которых система ищет исполняемые файлы для запуска без указания полного пути:
    echo "$PATH"
  1. Распакуйте скачанный архив с Terraform в доступную для записи папку. Выполните команду из папки с проверенным ZIP-архивом. Пример для версии 1.16.5 и Linux x86-64:
    unzip terraform_1.16.5_linux_amd64.zip -d terraform-install

    Замените имя ZIP-файла на скачанное. Например, для macOS на Apple Silicon оно оканчивается на darwin_arm64.zip. В каталоге terraform-install появится исполняемый файл terraform; папка будет создана при распаковке.

    Если команда unzip не найдена, установите одноимённый пакет. В Debian / Ubuntu используйте sudo apt install unzip, в RHEL, AlmaLinux, Rocky Linux, Fedora и Amazon Linux 2023 используйте sudo dnf install unzip, в Amazon Linux 2 используйте sudo yum install unzip. В macOS архив можно также распаковать двойным щелчком в Finder.
  2. Перейдите в папку, куда распаковали архив. Для команды из предыдущего шага:
    cd terraform-install

    Если вы выбрали другой каталог или распаковали архив через графический интерфейс, укажите его фактический путь в команде cd.
  1. Установите флаг, разрешающий выполнение файла, и переместите файл в каталог из PATH.
    chmod +x terraform

    Например, если в выводе шага 2 есть /usr/local/bin, выполните:
    sudo mkdir -p /usr/local/bin
    sudo mv terraform /usr/local/bin/terraform


    Если выбран другой каталог из PATH, замените путь назначения. Команда sudo нужна для записи в системный каталог; для каталога, доступного вашему пользователю, её можно не использовать. В PATH должен входить каталог с файлом, а не путь к самому файлу terraform.

Windows

Установка с помощью Chocolatey

  1. Проверьте доступность Chocolatey. Для этого откройте PowerShell от имени администратора и выполните команду:
    choco --version

    Если команда выводит версию Chocolatey, переходите к шагу 2.

    Если Chocolatey ещё не установлен, установите его по официальной инструкции Chocolatey. После установки закройте PowerShell, снова откройте его от имени администратора и повторите choco --version.

    Если Chocolatey уже установлен, но PowerShell не находит choco, проверьте, что каталог с choco.exe добавлен в переменную Path, и повторите проверку в новом окне PowerShell от имени администратора.
  1. Установите Terraform:
    choco install terraform -y

Пакет Terraform в Chocolatey поддерживается сообществом, что отмечено в документации HashiCorp.

Ручная установка дистрибутива

  1. Скачайте с официального сайта HashiCorp ZIP-архив для Windows. Для x86-64 выберите AMD64, для ARM64 учитывайте оговорку в разделе "Перед установкой". Если ресурсы HashiCorp недоступны, скачайте нужный архив из зеркала Yandex Cloud. Выполните действия из подраздела "Проверка скачанного архива".
  2. Распакуйте скачанный архив с Terraform в папку, доступную вам для записи. Например, используйте C:\Terraform. В этой папке должен находиться файл terraform.exe.
  3. Добавьте папку с файлом terraform.exe в пользовательскую переменную Path. Для изменения переменных своей учётной записи права администратора не нужны. В Windows 10 и Windows 11 выполните следующие действия.
  4. Нажмите "Пуск" (Start), введите "переменные среды" и выберите пункт для своей учётной записи: "Изменение переменных среды текущего пользователя" (Edit environment variables for your account). Откроется окно "Переменные среды" (Environment Variables).
  5. В верхнем блоке переменных пользователя (User variables) выберите "Path" и нажмите "Изменить..." (Edit...).
  6. Нажмите "Создать" (New). Введите C:\Terraform или путь к выбранной вами папке с Terraform.
  7. Подтвердите изменения кнопкой "OK" в обоих окнах.
  8. Закройте и заново откройте PowerShell, командную строку (CMD) или Windows Terminal, чтобы новый сеанс получил обновлённое значение Path.

Проверка установки

Чтобы убедиться, что установка Terraform прошла успешно, откройте новый сеанс терминала или PowerShell и выполните команду:
terraform version

Если установка прошла успешно, отобразятся версия Terraform и платформа. Если команда не найдена, проверьте, что каталог с исполняемым файлом входит в PATH, и повторно откройте терминал.

Если на компьютере установлено несколько копий Terraform, проверьте, какой файл запускается. В Linux и macOS используйте:
command -v terraform

В PowerShell используйте:
Get-Command terraform

Что дальше?

Когда Terraform установлен, вы можете настроить его аутентификацию в облачной инфраструктуре Сервер Молл Cloud, как описано в инструкции "Аутентификация в облачной инфраструктуре через Terraform".