我在M1Mac上无法安装tfenv 0.14.8

在中国衡量一件事情的各个方面时往往要考虑到事情的背景。

在ZOZO中,除了AWS资源之外,我们基本上使用Terraform进行管理。例如,Datadog的警报和仪表板,Sentry,PagerDuty等。
目前,由于每个资源创建所使用的Terraform版本不同,因此我们需要在本地的个人电脑上能够管理多个Terraform版本。
在这种情况下,tfenv非常有用。

tfenv的基本使用

tfenv是Terraform的包管理器,能轻松地管理多个Terraform版本。

# ローカルで使用可能なバージョン一覧を表示する
~% tfenv list
* 1.3.9 (set by /opt/homebrew/Cellar/tfenv/2.2.3/version)
  1.2.7
  1.0.11
  1.0.10
  0.14.11
  0.14.8

# ローカルのTerraformのバージョンを表示する
~% terraform version
Terraform v1.3.9
on darwin_arm64

# リモートでインストール可能なバージョン一覧を表示する
~% tfenv list-remote
1.7.0-alpha20231130
1.7.0-alpha20231108
1.7.0-alpha20231025
1.6.5
...

# 1.6.5をinstallする
~% tfenv install 1.6.5
Installing Terraform v1.6.5
Downloading release tarball from https://releases.hashicorp.com/terraform/1.6.5/terraform_1.6.5_darwin_arm64.zip
############################################################################################################################################################################################################################## 100.0%
Downloading SHA hash file from https://releases.hashicorp.com/terraform/1.6.5/terraform_1.6.5_SHA256SUMS
No keybase install found, skipping OpenPGP signature verification
Archive:  /var/folders/th/xllm4jmn2_j5b2c6wxp4rg280000gn/T/tfenv_download.XXXXXX.UbWOfqKS/terraform_1.6.5_darwin_arm64.zip
  inflating: /opt/homebrew/Cellar/tfenv/2.2.3/versions/1.6.5/terraform
Installation of terraform v1.6.5 successful. To make this your default version, run 'tfenv use 1.6.5'

# 1.6.5に切り替える
~% tfenv use 1.6.5
Switching default version to v1.6.5
Switching completed

# ローカルのTerraformのバージョンを表示する
~% terraform version
Terraform v1.6.5
on darwin_arm64

请问有什么问题吗?

我在尝试使用tfenv安装0.14.8版本时遇到了以下错误。

$ tfenv install 0.14.8
Installing Terraform v0.14.8
Downloading release tarball from https://releases.hashicorp.com/terraform/0.14.8/terraform_0.14.8_darwin_arm64.zip
curl: (22) The requested URL returned error: 404

Tarball download failed

确实,当我访问输出的URL时,发现对应的文件不存在。
https://releases.hashicorp.com/terraform/0.14.8/terraform_0.14.8_darwin_arm64.zip

原因似乎是因为ARM只支持从1.0.2版本开始,本地电脑是M1 Mac。
https://reeases.hashicorp.com/terraform/1.0.2

這是一個迂迴的解決方案

将Terraform的版本升级到1.0.2是根本解决方案,但通过在命令中加入TFENV_ARCH=amd64来执行,可以绕过此问题。

$ TFENV_ARCH=amd64 tfenv install 0.14.8
广告
将在 10 秒后关闭
bannerAds