<p>tfenvは、rbenv、pyenv、luaenvなどと同じように動作する必要があります</p>

作成日 2017年07月07日  ·  5コメント  ·  ソース: tfutils/tfenv

ドットファイル構成にtfenvを含めようとしましたが、pyenv、rbenvなどで行うのと同じ方法です。これらのラッパーを遅延ロードするため、最初の呼び出しでinitが実行されます。これは、シェルでどのように表示されるかを示しています。

% 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は10年以上前のものですが、一部のアプリケーションはまだ作成していません。それを尊重しなさい、恥)

そこで、ここでtfenvを有効にして、他のラッパーと同じようにTFENV_ROOTを処理しないことを確認しました。 他のラッパーは、 *ENV_ROOTフォルダーを使用して、シム、プラグイン、およびキャッシュを格納します。 tfenvは文字通り、インストールされている場所のインジケーターとして使用しますが、これはとにかく自動的に検出されるため、あまり意味がありません。 また、 tfenv initコマンドはありません。

インストールを簡素化しようとしたことを感謝しますが、同じように他のラッパーとの互換性契約を破りました。

moreinfo

最も参考になるコメント

最も重要なことは、 tfenv/usr/local/bin/terraformをオーバーライドしたり、Terraform本体と競合したりしてはいけませんが、代わりに、他の人と同じように$PATHで遊んでください。

全てのコメント5件

さらに、現在のシェルセッションで特定のバージョンのテラフォームを有効にするためのtfenv shellはありません。

最も重要なことは、 tfenv/usr/local/bin/terraformをオーバーライドしたり、Terraform本体と競合したりしてはいけませんが、代わりに、他の人と同じように$PATHで遊んでください。

これらの機能があると、 anyenvのようなもので使用するときに便利なツールになります。

rbenv initが行うことを(非常に単純な形式で)行うブランチを作成しました。

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

そこに他に何を入れるべきか教えてください。

#240で解決

このページは役に立ちましたか?
0 / 5 - 0 評価