无法更新地形版本



我的provider.tf文件中已经有了最新版本:

required_providers {
archive = {
source  = "hashicorp/archive"
version = "2.2.0"
}
aws     = {
source  = "hashicorp/aws"
version = "3.72.0"
}
}

然而,当我在终端上检查terraform version时,我得到的是:

Terraform v1.0.7
on darwin_amd64
+ provider registry.terraform.io/hashicorp/archive v2.2.0
+ provider registry.terraform.io/hashicorp/aws v3.72.0
Your version of Terraform is out of date! The latest version
is 1.1.4. You can update by downloading from https://www.terraform.io/downloads.html

我已经试过terraform init -upgrade了,但也没什么区别。我也从网站上手动下载了terraform的新版本,但我的终端仍然显示1.0.7。

由于旧的Terraform版本,我面临其他错误。如何使用终端更新到最新版本?

提供程序地形二进制之间存在差异。使用您正在使用的命令,您将更新提供程序模块版本。根据你的问题,我知道你下载了二进制到你的Mac。这当然是不够的。你必须用新的二进制文件替换旧的二进制文件。最简单的方法是运行:

echo $PATH

这应该为您提供关于将新二进制文件放在哪里的信息,以便系统知道在哪里查找它。输出应该类似于:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

随后运行:

which terraform

它应该显示terraform二进制文件的位置,在大多数情况下,它与PATH环境变量中列出的位置之一匹配。示例:

/usr/local/bin/terraform

然后,解压缩下载的文件,并将其复制到旧二进制文件的位置。请注意,这将删除旧版本。

不过,有更好的方法来处理多个地形版本。其中之一是使用tfenv[1]。

另一种安装(和覆盖(terraform版本的方法是按照这里的指南[2]并使用homebrew,它是MacOS的包管理器,但简而言之,命令是:

brew tap hashicorp/tap
brew install hashicorp/tap/terraform

[1]https://github.com/tfutils/tfenv

[2]https://www.terraform.io/downloads

相关内容

  • 没有找到相关文章

最新更新