<p>tfenv 的行为方式应该与 rbenv、pyenv、luaenv 等相同</p>

创建于 2017-07-07  ·  5评论  ·  资料来源: tfutils/tfenv

我尝试在我的 dotfiles 配置中包含 tfenv,就像我对 pyenv、rbenv 等所做的那样。我延迟加载这些包装器,所以在第一次调用时执行init ,这里是它在 shell 中的样子:

% type -f rbenv
rbenv () {
        unset -f rbenv
        export RBENV_ROOT=$XDG_DATA_HOME/rbenv 
        PATH=$DOTFILES/rbenv/rbenv/bin:$PATH 
        eval "$(command rbenv init -)"
        rbenv $@
}

此函数是使用https://github.com/z0rc/dotfiles/blob/master/zsh/rc.d/15_rbpynodlua_env.zsh#L5 -L16 上的包装器自动生成的。 它还定义了*ENV_ROOT dir,因此这些包装器不会在$HOME中创建顶级 dotdir(旁注:XDG Base Dir Spec 已有十多年的历史,但某些应用程序仍然没有'不尊重它,耻辱)

所以我尝试在这里启用tfenv只是为了发现它不像其他包装器那样处理TFENV_ROOT 。 其他包装器使用*ENV_ROOT文件夹来存储垫片、插件和缓存。 tfenv从字面上使用它作为安装位置的指示器,这没有多大意义,因为无论如何都会自动检测到它。 也没有tfenv init命令。

我感谢您尝试简化安装,但同样您违反了与其他包装器的兼容性合同。

moreinfo

最有用的评论

最重要的是, tfenv不应覆盖/usr/local/bin/terraform或与正确的 Terraform 冲突,而是像其他人一样使用$PATH

所有5条评论

此外,没有tfenv shell可以为当前 shell 会话启用特定版本的 terraform。

最重要的是, tfenv不应覆盖/usr/local/bin/terraform或与正确的 Terraform 冲突,而是像其他人一样使用$PATH

当与anyenv之类的东西一起使用时,拥有这些功能将使它成为一个有用的工具。

我做了一个分支,做rbenv init所做的事情(以超级简单的形式)。

https://github.com/jalcine/tfenv/tree/add-init-command

让我知道还有什么应该进去的。

由#240 解决

此页面是否有帮助?
0 / 5 - 0 等级