AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a package available for your current platform, darwin_arm64.

terraform init 時に掲題のエラーが出て困っていた。 どうやら AppleSillicon 系列に由来するエラーらしい (対象のモジュールが AppleSillicon 対応されずにアーカイブされた?)。

どうする

以下の書き込みの通り tfenv でのインストール時に TFENV_ARCH=amd64 を使うことで解決した。

discuss.hashicorp.com

❯ tfenv uninstall 1.1.7 #元々入っていた対象バージョンを削除するTFENV_ARCH=amd64 tfenv install 1.1.7 #TFENV_ARCH を指定して再インストールする
❯ terraform init -reconfigure #既存の state を利用して再度 init

コード的に対応する

zenn.dev

こちらの記事の様に、実装を修正することで対応できそうであったけど、構築された環境を deestroy して別の terraform 実装で再入植したい、というのが目的だったので、あえて今回のような対応にした。

おまけ

本件エラーが出たプロジェクト、Windows + Intel CPU なプラットフォーム上で開発された後に長期間メンテされていなかった。

納品時に作った人からも「この環境 (Windows + IntelCPU) 以外だとウゴキマセン」など言われて、「なめてんのか……?」となるなどしていたので、さもあらんという感じだった。 (AWS のクレデンシャルプロファイル名が default 固定だったりと、色々すごく良くない感じで現在進行系で困っていたりする)

とはいえ、結局は AppleSillicon 実装での特有の問題っぽいので、 通常の x64 アーキテクチャの CPU で実行すれば本来的には問題はない……? という気はしている。 多数のアーキテクチャ対応は難しいね。