无法更新地形版本
unable to update terraform version
我的 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
但这并没有什么不同either.I也从网站上手动下载了terraform的新版本,但我的终端仍然显示1.0.7。
由于旧的 Terraform 版本,我遇到了其他错误。如何使用终端更新到最新版本?
providers 和 terraform 二进制文件之间存在差异。使用您正在使用的命令,您将更新 provider 和 module 版本。根据您的问题,我了解到您已将二进制文件下载到您的 Mac。那当然是不够的。您必须用新的二进制文件替换旧的二进制文件。最简单的方法是 运行:
echo $PATH
这应该为您提供有关将新二进制文件放在哪里的信息,以便系统知道在哪里寻找它。输出应类似于:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
随后 运行:
which terraform
它应该向您显示 terraform
二进制文件所在的位置,并且在大多数情况下它与 PATH
环境变量中列出的位置之一相匹配。示例:
/usr/local/bin/terraform
然后,解压缩您下载的文件并将其复制到旧二进制文件所在的位置。请注意,这将删除旧版本。
虽然有更好的方法来处理多个 terraform 版本。其中之一是使用 tfenv
[1].
安装(和覆盖)terraform 版本的另一种方法是按照此处的指南 [2] 并使用 homebrew
,即 MacOS' 包管理器,但在简而言之,命令是:
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
我的 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
但这并没有什么不同either.I也从网站上手动下载了terraform的新版本,但我的终端仍然显示1.0.7。
由于旧的 Terraform 版本,我遇到了其他错误。如何使用终端更新到最新版本?
providers 和 terraform 二进制文件之间存在差异。使用您正在使用的命令,您将更新 provider 和 module 版本。根据您的问题,我了解到您已将二进制文件下载到您的 Mac。那当然是不够的。您必须用新的二进制文件替换旧的二进制文件。最简单的方法是 运行:
echo $PATH
这应该为您提供有关将新二进制文件放在哪里的信息,以便系统知道在哪里寻找它。输出应类似于:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
随后 运行:
which terraform
它应该向您显示 terraform
二进制文件所在的位置,并且在大多数情况下它与 PATH
环境变量中列出的位置之一相匹配。示例:
/usr/local/bin/terraform
然后,解压缩您下载的文件并将其复制到旧二进制文件所在的位置。请注意,这将删除旧版本。
虽然有更好的方法来处理多个 terraform 版本。其中之一是使用 tfenv
[1].
安装(和覆盖)terraform 版本的另一种方法是按照此处的指南 [2] 并使用 homebrew
,即 MacOS' 包管理器,但在简而言之,命令是:
brew tap hashicorp/tap
brew install hashicorp/tap/terraform