direnv est un outil qui vous permet de changer les variables d'environnement pour chaque répertoire, ce qui est utile lorsque vous développez plusieurs projets en parallèle.
Sur Mac, si vous définissez la fonction suivante dans ~ / .direnvrc
...
# ~/.direnvrc
use_java() {
if [ "$#" -ne 1 ]; then
echo "usage: use java VERSION" >&2
return 1
fi
local v
v="$1"
if [ "$v" -le "8" ]; then
v="1.$v"
fi
export JAVA_HOME="$(/usr/libexec/java_home -v "$v")"
PATH_add $JAVA_HOME/bin
}
Pour chaque projet, écrivez simplement comme ceci
# [Répertoire de projets]/.envrc
use_java 11 #Utilisez JDK 11
Notez que direnv a une fonction (subtilement) utile qui vous permet d'écrire ʻuse_hoge comme ʻuse hoge
, donc vous pouvez aussi écrire ceci.
use java 11
Pour les langages autres que Java, «use» est fourni en standard.
https://github.com/direnv/direnv/blob/master/stdlib.sh https://github.com/direnv/direnv/blob/master/man/direnv-stdlib.1.md
Recommended Posts