如何让“terraform init”在适用于 Azure 平台的 Apple M1 Macbook 上运行?

Kar*_*hli 2 cloud provider azure terraform apple-m1

在我的 Macbook 上运行 terraform init 时出现以下错误。有人可以帮忙吗?

提供程序registry.terraform.io/hashicorp/template v2.2.0 没有适用于您当前平台darwin_arm64 的软件包。

我的 terraform 版本是 1.1.4。

arv*_*tal 7

我通过使用tfenv包解决了这个问题,它可以构建适应平台架构的特定Terraform版本。

我运行以下命令来安装在我的 M1 Macbook 下运行的版本(在我的例子中为版本 1.3.3):

brew uninstall terraform
brew install tfenv
TFENV_ARCH=amd64 tfenv install 1.3.3
tfenv use 1.3.3
Run Code Online (Sandbox Code Playgroud)


Mar*_*ins 5

在苹果推出新的 Apple Silicon 平台之前,该hashicorp/template插件已经过时(有利于内置templatefile功能)。该提供商唯一可用的版本是在该平台存在之前发布的版本。

要在 Apple Silicon 硬件上取得进展,您将有两个主要选择:

  • 理想情况下,计划迁移出过时的提供程序并使用内置模板功能。该函数内置于 Terraform 本身,因此不需要任何外部提供程序即可工作。它也比旧template_file数据源更强大templatefile,可以接受任何类型的模板变量,但template_file仅支持字符串。

  • 如果您尚未准备好从该提供商迁移,那么您可能更愿意使用darwin_amd64Rosetta 2 模拟下的 Terraform 版本。如果您使用 Terraform CLI 版本,那么darwin_amd64它将依次安装darwin_amd64提供程序包,因此您将能够使用模板提供程序的最终版本 v2.2.0。

    Terraform 并未在 Rosetta 2 中得到正式支持,因此它的工作效果将取决于 Apple 模拟层的完整性,但它有望作为一种短期解决方法,直到您准备好停止使用这个过时的提供程序。