<p>tfenv sollte sich genauso verhalten wie rbenv, pyenv, luaenv etc</p>

Erstellt am 7. Juli 2017  ·  5Kommentare  ·  Quelle: tfutils/tfenv

Ich habe versucht, tfenv in meine Dotfiles-Konfiguration aufzunehmen, und genauso mache ich es mit pyenv, rbenv usw. Ich lade diese Wrapper lazy, also wird init beim ersten Aufruf ausgeführt, so sieht es in der Shell aus:

% 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 $@
}

Diese Funktion wird automatisch mit Wrapper unter https://github.com/z0rc/dotfiles/blob/master/zsh/rc.d/15_rbpynodlua_env.zsh#L5 -L16 generiert. Außerdem definiert es *ENV_ROOT Verzeichnis, sodass diese Wrapper kein dotdir der obersten Ebene in $HOME erstellen (Randbemerkung: XDG Base Dir Spec ist mehr als ein Jahrzehnt alt, aber einige Anwendungen tun es immer noch nicht nicht ehren, schade)

Also habe ich versucht, tfenv hier zu aktivieren, nur um festzustellen, dass es TFENV_ROOT nicht so handhabt wie andere Wrapper. Andere Wrapper verwenden den Ordner *ENV_ROOT zum Speichern von Shims, Plugins und Cache. tfenv verwendet es buchstäblich als Indikator, wo es installiert ist, was nicht viel Sinn macht, da dies sowieso automatisch erkannt wird. Außerdem gibt es keinen tfenv init -Befehl.

Ich schätze, dass Sie versucht haben, die Installation zu vereinfachen, aber auf die gleiche Weise haben Sie den Kompatibilitätsvertrag mit anderen Wrappern gebrochen.

moreinfo

Hilfreichster Kommentar

Am wichtigsten ist, dass tfenv nicht /usr/local/bin/terraform überschreibt oder mit Terraform in Konflikt gerät, sondern stattdessen mit $PATH spielt, so wie es alle anderen tun.

Alle 5 Kommentare

Darüber hinaus gibt es kein tfenv shell , um bestimmte Versionen von Terraform für die aktuelle Shell-Sitzung zu aktivieren.

Am wichtigsten ist, dass tfenv nicht /usr/local/bin/terraform überschreibt oder mit Terraform in Konflikt gerät, sondern stattdessen mit $PATH spielt, so wie es alle anderen tun.

Mit diesen Funktionen wäre es ein nützliches Werkzeug, wenn es mit etwas wie anyenv verwendet wird.

Ich habe einen Zweig erstellt, der das tut, was rbenv init tut (in einer supereinfachen Form).

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

Sag Bescheid, was da noch rein soll.

Gelöst durch #240

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen