2017-08-14 2 views
2

Laravel muss Pfad festlegen. Es ist vollbracht durchPfad-Setup in Fischschale

export PATH="$PATH:$HOME/.composer/vendor/bin" 

in bash, aber ich brauche es beharrlich in Fischschale erfolgen. Ich habe versucht, es durch set -u in ~/.config/fish/config.fish einzustellen, funktioniert aber nicht.

Antwort

4

In Fischen werden $ PATH, $ MANPATH und $ CDPATH automatisch in Listen konvertiert.

Das heißt, der Fisch-native Äquivalent des Befehls (die, wie es in 2.6.0 ist tatsächlich arbeiten, weil Fisch Schiffe eine export Kompatibilitätsfunktion) ist

set -gx PATH $PATH $HOME/.composer/vendor/bin 

Nun tun Sie nicht wollen um $ PATH universal zu setzen. Das können Sie auch nicht, da es in 99% der Fälle vom übergeordneten Prozess als globale Variable geerbt wird und globale Variablen Universals überschreiben (dh die universelle Variable ist sinnlos).

jedoch Fisch hat eine $fish_user_paths universellen Variablen, dass es zu $ ​​PATH prepend wird, so können Sie auch

set -U fish_user_paths $HOME/.composer/vendor/bin 

verwenden Wenn Sie benötigen statt anhängen, müssen Sie, dass $ PATH hinzufügen Schnipsel oben zu Ihrem config.fish.

+0

für zukünftiges Wachstum, verwenden Sie 'set -U Fisch_Benutzer_Pfad $ fish_user_Pfades $ HOME/.Poserver/Vendor/bin' zum Anhängen statt Ersetzen –

+0

Hinweis: Tun Sie das nicht in config.fish - das verursacht $ fish_user_paths ohne zu wachsen Grenzen. – faho

+0

Mit den obigen Befehlen habe ich: > set: Warnung: Universal-Bereich ausgewählt, aber eine globale Variable 'fish_user_paths' existiert. – mesqueeb

Verwandte Themen