You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1执行terraform init报错:mysql v1.9.0无darwin_arm64适配包

解决Terraform MySQL Provider在Mac M1上的兼容问题

方法1:切换到官方维护的MySQL Provider

原terraform-providers/mysql已停止维护,且无darwin_arm64适配版本,目前官方推荐使用hashicorp/mysql(3.0.0及以上版本支持Mac M1架构)。

修改Terraform配置文件(如main.tf)中的provider声明:

terraform {
  required_providers {
    mysql = {
      source  = "hashicorp/mysql"
      version = ">= 3.0.0"
    }
  }
}

provider "mysql" {
  # 你的MySQL连接配置
  endpoint = "localhost:3306"
  username = "your_username"
  password = "your_password"
}

执行命令更新并初始化:

terraform init -upgrade

方法2:通过Rosetta 2模拟x86_64环境运行(临时方案)

  1. 安装Rosetta 2:
softwareupdate --install-rosetta
  1. 创建Rosetta终端:右键终端应用→复制→重命名为“Terminal (Rosetta)”→右键选择「显示简介」→勾选「使用Rosetta打开」
  2. 在该终端内执行terraform init,Terraform会拉取x86_64版本的provider。

方法3:手动编译旧版本Provider(进阶方案)

若必须使用terraform-providers/mysql v1.9.0,可手动编译适配darwin_arm64的版本:

  1. 克隆项目仓库并切换到对应版本:
git clone https://github.com/terraform-providers/terraform-provider-mysql.git
cd terraform-provider-mysql
git checkout v1.9.0
  1. 编译arm64架构的二进制文件:
GOOS=darwin GOARCH=arm64 go build -o terraform-provider-mysql_v1.9.0
  1. 将编译产物放入Terraform本地插件目录(路径示例):
mkdir -p ~/.terraform.d/plugins/registry.terraform.io/terraform-providers/mysql/1.9.0/darwin_arm64/
mv terraform-provider-mysql_v1.9.0 ~/.terraform.d/plugins/registry.terraform.io/terraform-providers/mysql/1.9.0/darwin_arm64/
  1. 重新执行terraform init

内容的提问来源于stack exchange,提问作者Catopus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 05:27:07