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

  • Co máte na mysli s " source ~ / .bash_profile nefunguje ' ani "? Zobrazuje se chybová zpráva?
  • Ukončete terminál a znovu jej otevřete … co ' s výsledkem: echo $PATH
  • @ user3439894 jo, to je ' divné, ve skutečnosti jsou všechny cesty zde, první řádek vyloučen (pythonovský)
  • Očekával jsem, že pošlete výsledek 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

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í Ising PATH 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ž jsem source ~/.bash_profile vícekrát. Možná by bylo užitečné vysvětlení toho, co jednotlivé části dělají.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *