从OpenTofu迁移回Terraform时遇提供程序版本不兼容错误
问题分析
核心原因是你当前使用的Terraform为32位(windows_386)版本,而Databricks Provider v1.31.0、v1.38.0均未提供该平台的安装包;而OpenTofu是64位(windows_amd64)版本,因此可以正常拉取对应平台的Provider包并运行。
解决方案
方案1:切换到64位Terraform版本
- 卸载当前32位Terraform,安装Windows 64位版本(保持v1.7.x大版本或更新均可)
- 重新执行
terraform init,此时平台为windows_amd64,可正常拉取Databricks Provider包
方案2:强制指定Provider平台(需保留32位Terraform时)
修改Terraform配置文件,为Databricks Provider指定兼容的64位平台:
terraform { required_providers { azurerm = { source = "hashicorp/azurerm" } databricks = { source = "databricks/databricks" version = "1.31.0" platforms = ["windows_amd64"] } } }
执行命令重新初始化:
terraform init -reconfigure
方案3:直接使用OpenTofu替代Terraform
既然OpenTofu已能正常执行init/plan/apply全流程,后续可直接使用OpenTofu命令完成所有操作,无需再切换回Terraform。
验证步骤
执行以下命令确认平台信息:
terraform --version
若显示on windows_amd64,说明平台切换成功,可正常拉取Provider包。
内容的提问来源于stack exchange,提问作者Stian
相关产品推荐
相关产品推荐

