J'ai essayé d'inclure tfenv dans ma configuration dotfiles et de la même manière que je le fais avec pyenv, init
etc.
% 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 $@
}
Cette fonction est générée automatiquement à l'aide du wrapper sur https://github.com/z0rc/dotfiles/blob/master/zsh/rc.d/15_rbpynodlua_env.zsh#L5 -L16. En outre, il définit *ENV_ROOT
dir afin que ces wrappers ne créent pas de dotdir de niveau supérieur dans $HOME
(Remarque : XDG Base Dir Spec a plus de dix ans, mais certaines applications ne le font toujours pas ' je ne l'honore pas, dommage)
J'ai donc essayé d'activer tfenv
ici juste pour constater qu'il ne gère pas TFENV_ROOT
la même manière que les autres wrappers. D'autres wrappers utilisent le dossier *ENV_ROOT
pour stocker les shims, les plugins et le cache. tfenv
l'utilise littéralement comme indicateur de l'endroit où il est installé, ce qui n'a pas beaucoup de sens car cela est automatiquement détecté de toute façon. De plus, il n'y a pas de commande tfenv init
.
J'apprécie que vous ayez essayé de simplifier l'installation, mais de la même manière, vous avez rompu le contrat de compatibilité avec d'autres wrappers.
De plus, il n'y a pas tfenv shell
pour activer certaines versions de terraform pour la session shell en cours.
Plus important encore, tfenv
ne doit pas remplacer /usr/local/bin/terraform
ni entrer en conflit avec Terraform proprement dit, mais plutôt jouer avec $PATH
comme tout le monde le fait.
Avoir ces fonctionnalités en ferait un outil utile lors de son utilisation avec quelque chose comme anyenv
.
J'ai créé une branche qui fait ce que fait rbenv init
(sous une forme super simple).
https://github.com/jalcine/tfenv/tree/add-init-command
Faites-moi savoir ce qui devrait y aller d'autre.
Résolu par #240
Commentaire le plus utile
Plus important encore,
tfenv
ne doit pas remplacer/usr/local/bin/terraform
ni entrer en conflit avec Terraform proprement dit, mais plutôt jouer avec$PATH
comme tout le monde le fait.