Apple M1执行Terraform init报错:AWS Provider v3.23.0不支持darwin_arm64
问题原因
HashiCorp AWS Provider v3.23.0发布时未支持darwin_arm64(Apple M1/M2系列芯片架构),Terraform无法找到对应平台的预编译安装包,因此初始化失败。
解决方法
1. 升级AWS Provider至兼容版本
AWS Provider从v3.38.0开始正式支持darwin_arm64架构,修改Terraform配置文件(如main.tf或versions.tf)中的版本约束:
terraform { required_providers { aws = { source = "hashicorp/aws" version = ">= 3.38.0" # 推荐使用~> 4.0这类更稳定的大版本约束 } } }
修改后重新执行terraform init即可。
2. 用Rosetta 2兼容模式运行Terraform(临时方案)
若暂时无法升级Provider,可通过Rosetta 2模拟x86_64架构:
- 右键点击终端图标,选择「使用Rosetta打开」
- 在该终端窗口执行
terraform init
3. 手动编译适配架构的Provider(高级用户方案)
若必须使用v3.23.0版本,可手动从源码编译:
- 克隆源码:
git clone https://github.com/hashicorp/terraform-provider-aws.git - 切换到对应版本标签:
git checkout v3.23.0 - 编译并安装到Terraform插件目录:
GOOS=darwin GOARCH=arm64 go build -o terraform-provider-aws_v3.23.0 mkdir -p ~/.terraform.d/plugins/registry.terraform.io/hashicorp/aws/3.23.0/darwin_arm64 mv terraform-provider-aws_v3.23.0 ~/.terraform.d/plugins/registry.terraform.io/hashicorp/aws/3.23.0/darwin_arm64/
完成后执行terraform init。
内容的提问来源于stack exchange,提问作者Sanika Kalvikatte
相关产品推荐
相关产品推荐

