不知道如何更好地恢复它 x)
如果您将 tfenv 版本设置为 0.11.14 并输入一个 .terraform-version 指向 0.12.4 的目录,它会全局更改 tfenv 版本。 这意味着当您离开该目录时,它不会将 tfenv 版本恢复为 0.11.14,而是保持 0.12.4 版本。 我认为它应该将其作为默认行为。
PD:tfenv 很酷,谢谢你的工作!
认为这与解决我们如何处理版本文件和use
命令的另一张票有关。 它在名单上。
在mac上,/usr/local/bin/terraform的机制造成了这个问题。 tfenv 应该为环境中正确版本的 terraform 设置 PATH 或类似设置,而不是在全局作用的 FS 上创建符号链接或其他文件。
这样做意味着无法使用此工具运行具有不同版本的并发 terraform 调用。
(当然你知道无论如何,但那是我的问题 - 这意味着我根本不能将 tfenv 用于 CI)
在 v2.0.0 中没有解决这个问题(环境操作而不是系统级默认值),因为 2.0.0 是一个已经稳定的重大重写; 也许会在 v2.1.0 中查看它。
需要并行执行的 CI 配置的两种解决方案:
use
命令,只需使用 CI 执行独有的 .terraform-version 文件执行terraform
即可。有关 2.0.0 候选版本,请参阅https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 。 现在不会覆盖 .terraform-version 文件。
最有用的评论
在mac上,/usr/local/bin/terraform的机制造成了这个问题。 tfenv 应该为环境中正确版本的 terraform 设置 PATH 或类似设置,而不是在全局作用的 FS 上创建符号链接或其他文件。
这样做意味着无法使用此工具运行具有不同版本的并发 terraform 调用。
(当然你知道无论如何,但那是我的问题 - 这意味着我根本不能将 tfenv 用于 CI)