(2021/2以降にこの記事を参照していると古い可能性が高いです!)
新年早々餅を食いながらMacbookのセットアップを始めているワシ。
Rosetta2で動かしていたけど、providerがうんともすんとも言わなくなったりして詰んでしまう。何かがおかしくなるっぽい。
対応状況どうなってるんやろ、と調べたところ、そもそもgolangがまだ対応してなかった。
「1.16 betaだったら対応してるよ!」とのこと。ならばGo1.16betaでterraformをソースからビルドする方式で頑張るしかあるまい。
その前に、brew uninstall terraform golang
Go 1.16 betaのインストール
Downloads - The Go Programming Language から、"go1.16beta1.darwin-arm64.pkg"をDL、checksumの検証
tar zxvf
して、 /usr/local/go
に配置する。 /usr/local/go/bin
にバイナリがあるので、ここにパスを通すor通ってる場所にシンボリックリンクを貼る
% go version go version go1.16beta1 darwin/arm64
なお↑の公式に書かれている go get golang.org/dl/go1.16beta1
する方法をやると、arm64ではなくamd64を選んでしまうため注意。
terraformをソースからビルド
% git clone git@github.com:hashicorp/terraform.git && cd terraform # masterでなく特定バージョンを見たい場合は、適当にブランチを切り替え % go install
これで $GOPATH/bin
(default GOPATH = ~/go) にterraformが入る。
% terraform version
Terraform v0.15.0-dev
on darwin_arm64
とりあえず動くようになった
変なバグが起こるかもしれません。 golangの正式対応を待ちましょう。↓あたりを見ておくと良さそう。もしgoのバグを踏んだらレポートしよう。