direnv ist ein Tool, mit dem Sie Umgebungsvariablen für jedes Verzeichnis wechseln können. Dies ist hilfreich, wenn Sie mehrere Projekte gleichzeitig entwickeln.
Wenn Sie auf einem Mac die folgende Funktion in ~ / .direnvrc
definieren ...
# ~/.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
}
Schreiben Sie für jedes Projekt einfach so
# [Projektverzeichnis]/.envrc
use_java 11 #Verwenden Sie JDK 11
Beachten Sie, dass direnv eine (subtile) nützliche Funktion hat, mit der Sie "use_hoge" als "use hoge" schreiben können, sodass Sie diese auch schreiben können.
use java 11
Für andere Sprachen als Java wird standardmäßig "use" bereitgestellt.
https://github.com/direnv/direnv/blob/master/stdlib.sh https://github.com/direnv/direnv/blob/master/man/direnv-stdlib.1.md
Recommended Posts