不小点了 terraform init -upgrade 升级后apple m1和tf不兼容。一直报错
➜ aws-infra-AutoScaling_A8 git:(HW8) ✗ terraform init
Initializing modules...
Initializing the backend...
Initializing provider plugins...
- Finding latest version of hashicorp/template...
- Reusing previous version of hashicorp/aws from the dependency lock file
- Reusing previous version of hashicorp/random from the dependency lock file
- Using previously-installed hashicorp/aws v4.54.0
- Using previously-installed hashicorp/random v3.4.3
╷
│ Error: Incompatible provider version
│
│ Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a package available for your
│ current platform, darwin_arm64.
│
│ Provider releases are separate from Terraform CLI releases, so not all providers are available for all
│ platforms. Other versions of this provider may have different platforms supported.
解决方法:
这个解答的目的是通过设置环境变量 TFENV_ARCH
来指定架构,从而使用 tfenv
安装特定版本的 Terraform。TFENV_ARCH
环境变量的值应该设置为目标平台的架构,例如 amd64
或 arm64
。
下面是使用 TFENV_ARCH
和 tfenv
安装 Terraform 0.14.0 的步骤:
tfenv
,可以使用以下命令:brew install tfenv
2. 这将设置环境变量 TFENV_ARCH
为 amd64
,然后使用 tfenv
工具安装版本 0.14.0
的 Terraform。请确保您已经安装了 tfenv
工具。如果您没有安装,可以使用以下命令安装:
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
3.如果您的系统缺少 GNU Grep 工具,可以通过安装该工具来解决此问题。您可以使用 Homebrew 包管理器来安装它。请执行以下命令
brew install grep
4.然后再次运行
export TFENV_ARCH=amd64
TFENV_ARCH=amd64 tfenv install 0.14.0
命令即可。
5.这个命令执行成功后,会下载 Terraform 0.14.0 的二进制文件并安装到本地的 tfenv 环境中。如果你希望将这个版本设为默认版本,可以执行
tfenv use 0.14.0