Nejsem jasný, jak trvale přidat cesty k PATH env var. Našel jsem několik otázek pro to pokaždé s jinými odpověďmi. Vytvořil jsem .bash_profile
ve svém domovském adresáři, ale pokaždé, když restartuji, musím ručně export
znovu své cesty.
source ~/.bash_profile
ani nefunguje.
Co mi chybí?
Toto je v současné době můj .bash_profile
export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Komentáře
odpověď
To, co jste rozložili, je správný způsob přidání dalších adresářů do $PATH
.
Krok 1 – ~/.bash_profile
Chcete-li začít provádět úpravy svého ~/.bash_profile
přidávání libovolných umístění, do kterých chtěli jsme upravit váš $PATH
.
export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
Krok 2 – zdroj ~/.bash_profile
Po provedení výše uvedených úprav tohoto souboru můžete použít buď příkaz source
nebo .
notace pro „reload“ a změny provedené v tomto souboru v kontextu vašeho aktuálního shellu.
$ . ~/.bash_profile
-or-
$ source ~/.bash_profile
Krok 3 – Vyhodnocení změn
Po provedení úprav a jejich získání můžete potvrdit, že měly požadovaný účinek, a to tak, že ozvěte obsah variabilní.
$ echo $PATH | tr ":" "\n" /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Applications/Wireshark.app/Contents/MacOS /usr/local/sbin /Users/smingolelli/bin /usr/local/opt/go/libexec/bin /Applications/Visual Studio Code.app/Contents/Resources/app/bin /Users/smingolelli/projects/kubebuilder/kubebuilder_1.0.5_darwin_amd64/bin/
Na pořadí záleží, takže nejdříve budou prohledány adresáře, které se objeví jako první. Pokud binární soubor žije na více místech, bude se setkat s prvním místem, které se použije.
Pamatujte také na to, že více zdrojů tohoto souboru bude mít negativní vliv na pokračování v přidávání stejných změn, často se tedy stává, že chcete $PATH
úplně uvést do konzistentního známého počátečního stavu a poté jej upravit pomocí těchto typů příkazů:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH"
Používání path_helper
macOS také obsahuje pomocníka při správě vašeho $PATH
. Nachází se zde /usr/libexec/path_helper
.
Takže místo ručního vytváření základny $PATH
, jak je uvedeno výše, můžete místo toho použijte tento úryvek k získání známého dobrého výchozího bodu pro váš $PATH
.
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
Toto se postará o inicializaci $PATH
, takže se automaticky přidají všechny adresáře uvedené v /etc/paths
a /etc/paths.d/
.
Komentáře
- Může být lepší použít
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
k inicializaci cesty, takže všechny adresáře uvedené v/etc/paths
a/etc/paths.d/
se přidají automaticky. - @nohillside má smysl. Nebyl jsem ' Nevím, že MacOS měl tohoto pomocníka, díky, ' přidám do A ' e.
- mít pohled na
/etc/profile
. ' se tam moc neděje, ale počáteční IsingPATH
je jeho součástí. - Jen hlava ' s up, můj
~./bash_profile
pouze směruje na~/.bashrc
, což je skutečný soubor, který jsem musel upravit. - @slm
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
odstranění druhé části mi dává stejný výsledek jako pouhé použití první části, když jsemsource ~/.bash_profile
vícekrát. Možná by bylo užitečné vysvětlení toho, co jednotlivé části dělají.
echo $PATH
echo $PATH
takže jsem mohl vidět výslovně a konkrétně, jaký byl výsledek. Omlouvám se, ale nemohu ' pomoci, pokud mi nebyly poskytnuty informace, které požaduji!/Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin