【问题标题】:Upgrade Terraform version升级 Terraform 版本
【发布时间】:2017-04-12 07:33:55
【问题描述】:

我开始使用 Terraform,并在他的 Github 存储库上关注项目更新。

我看到版本部分有新版本可用: https://github.com/hashicorp/terraform/releases

我按照以下步骤安装了 Terraform 工具: https://www.terraform.io/intro/getting-started/install.html

新版本是一个带有基本代码的 zip 文件,但我想知道如何在我的计算机 (OSX) 上安装它。我第一次安装时下载的是一个 zip 文件,其中只有一个“terraform”文件作为 unix 可执行文件。

如何从 github 发布部分提供的 zip 生成这个 Unix 可执行文件?

有什么想法吗?

谢谢!

【问题讨论】:

    标签: terraform


    【解决方案1】:

    Downloads Page 上提供了适用于每个操作系统的软件包。

    1. 为您的操作系统选择合适的软件包并下载 zip 文件。
    2. 将 zip 文件的内容(应该是单个 terraform 二进制文件)解压缩到您的 PATH 中的某个合理位置(例如 /usr/local/bin)。
    3. 添加执行权限:例如chmod u+x /usr/local/bin/terraform
    4. 运行 terraform 并确保您看到帮助文本。

    【讨论】:

    • 首先,感谢Yevgeniy 的回复。现在,Github 存储库发布部分的最后一个版本可在 [link] (terraform.io/downloads.html) Downloads Page 获得。但是几天来它不在那个链接上,我一直在寻找从 Github 版本中获取代码并生成 terraform 二进制文件的方法。
    • @BorjaLopez 如果答案有帮助,您介意接受吗?谢谢。
    【解决方案2】:

    这在'Developing Terraform'HERE987654321@下的存储库自述文件中有详细说明

    基本上...

    1. 确保您已安装 GO 编程语言(撰写本文时版本 1.7+)
    2. 创建一个 GO 工作区目录。
    3. 创建$GOPATH 环境变量,指向您刚刚创建的GO 工作区目录。
    4. $GOPATH/bin 添加到您的$PATH
    5. 将 Terraform 存储库(或提取 zip)克隆到 $GOPATH/src/github.com/hashicorp/terraform
    6. 在 Terraform 存储库中运行 make dev
    7. Terraform 二进制文件应在$GOPATH/bin 中创建

    我建议您按照自述文件中的步骤操作,而不是我在上面写的内容,它是全面的并且可能会改变。

    除非您正在积极开发 Terraform,否则您不需要执行任何此操作,否则请坚持使用 getting started guide 中的安装方法。

    【讨论】:

    • 谢谢克里斯!没错,还是等新的正式版吧。
    【解决方案3】:

    如果你已经在 MacOS 上使用Homebrew,你可以简单地安装Terraform

    $ brew install terraform
    

    并升级

    $ brew upgrade terraform
    

    事实上,您可能有兴趣让 Homebrew 也控制其他工具:

    $ brew install awscli
    $ brew install packer
    $ brew cask install docker
    $ brew cask install virtualbox
    $ brew cask install vagrant
    

    【讨论】:

    • 如果您正在处理不同的项目,您还可以使用“brew switch”在多个版本之间切换。例如brew switch terraform 0.10.2 更多信息在这里:stackoverflow.com/questions/13477363/…
    • @JP 这也适用于测试版吗?最近发布了一个 beta 版本 v0.13.0-beta3,我在想 brew upgrade terraform 是否也适用于 beta 版本。?
    • @codeaprendiz 是的,它会工作如果测试版已经装瓶。现在似乎还没有:brew search /^terraform@.+$/
    • 谢谢@JP,那我怎么在本地试试呢? :) ...我真的想尝试新功能。
    【解决方案4】:

    我能够使用这个工具来管理 terraform 版本:https://github.com/Zordrak/tfenv。第一步是删除现有安装:rm '/usr/local/bin/terraform'

    【讨论】:

      【解决方案5】:

      您可以使用 asdf 或 tfenv 之类的东西来管理 terraform 二进制文件。

      如果需要,您可以选择为每个项目使用不同的版本。

      【讨论】:

        【解决方案6】:

        你可以下载二进制文件:

        wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip
        

        然后:

        unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip
        

        然后:

        mv terraform /usr/local/bin/
        

        确保将 ${TERRAFORM_VERSION} 更改为您要安装的版本

        示例:

        0.13.2
        

        【讨论】:

          【解决方案7】:

          为了完整起见添加此响应。

          Hashicorp 为 MacOS 平台的所有 Hashicorp 产品提供了自己的 brew tap。

          升级...

          brew upgrade hashicorp/tap/{vault|consul|nomad|terraform|packer}
          

          安装...

          brew install hashicorp/tap/{vault|consul|nomad|terraform|packer}
          

          参考:https://www.hashicorp.com/blog/announcing-hashicorp-homebrew-tap

          【讨论】:

          • 如果可以的话,我会在 2020 年及以后将其更改为正确接受的答案。 brew install terraform 只是从社区获得它,所以在有人投入工作之前,你不会获得本周发布的 1.0 版本。 IMO,应该删除社区版本。只有 b/c 它可以让您远离 HasiCorp 发布修复程序后立即可用的功能。我感谢人们在社区版本上所做的工作,这只是我的看法。
          【解决方案8】:

          **TLDR

          • 用于安装 - brew install terraform
          • 用于升级 - brew upgrade terraform
          • 用于验证 - terraform --version

          【讨论】:

          • 如果它适用于 windows,并使用 choco,请运行以下命令。 choco upgrade terraform
          【解决方案9】:

          要使用多个 Terraform 版本,我使用的是 tfswitch。这允许您在 terraform 版本之间进行切换,这让事情变得更加容易。

          您可以找到文档here

          【讨论】:

            【解决方案10】:

            $sudo apt-get 升级 如果您为 terraform 设置了正确的路径,它将在 linux 中运行

            【讨论】:

            • 你应该格式化你的答案。您可以在帮助中心找到更多关于如何写出好的答案的信息。
            猜你喜欢
            • 2019-10-10
            • 1970-01-01
            • 2021-01-09
            • 2021-03-21
            • 2011-02-19
            • 2021-08-18
            • 2020-08-28
            • 2017-03-09
            • 1970-01-01
            相关资源
            最近更新 更多