M3のMacでterraform実行時に「Incompatible provider version」エラー
前回、terraform 実行のために tfenv の環境を整えた話を書きました。
実際に terraform で plan や import を実行しようとしたのですが、以下のエラーに遭遇・・・。
darwin_arm64 ってことなので、ローカルの Mac の環境が関係しているのでしょうか。
+ terraform init -backend-config key=resources.hoge.tfstate -force-copy
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.
今回はこのエラーの対応を紹介したいと思います。
エラー内容と原因
HashiCorp の公式サイトで調べてみると、以下の情報に行き着きました。
なるほど、このような経緯だったのですね。
テンプレート プロバイダーは、M1(darwin_arm64)リリースが存在する前に非推奨となり、アーカイブされました。
プロバイダーを M1 ハードウェアで使用する必要がある場合は、Terraform を rosetta で amd64 バイナリとして実行するか、プロバイダーを手動でビルドしてインストールする必要があります。
以下を実行してみましょうか。
$ brew install kreuzwerker/taps/m1-terraform-provider-helper
$ m1-terraform-provider-helper activate
$ m1-terraform-provider-helper install hashicorp/template -v v2.2.0
これで問題なく terraform が実行できるようになりました。
m1-terraform-provider-helper
m1-terraform-provider-helper の github のドキュメントも見ておくと良さそうですね。