terraform init -upgrade 升级后apple m1不兼容。一直报错

龚铭
2023-12-01

不小点了  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 环境变量的值应该设置为目标平台的架构,例如 amd64arm64

下面是使用 TFENV_ARCHtfenv 安装 Terraform 0.14.0 的步骤:

  1. 首先,安装 tfenv,可以使用以下命令:
brew install tfenv

2. 这将设置环境变量 TFENV_ARCHamd64,然后使用 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

 类似资料: