OSX'te PATH ortam değişkenini kalıcı olarak ayarlama


144

OSX'te çevresel değişkenlerin kalıcı olarak nasıl ayarlanacağına dair birkaç cevap okudum.

İlk önce şunu denedim , Linux / Unix'te $ PATH kalıcı olarak nasıl ayarlanır? ama ben belirten bir hata mesajı vardı no such file and directoryben denemek düşündüm bu yüzden, ~/.bash_profileyerine ~/.profileama bir işe yoktu.

İkinci olarak, bu çözüm bulduk nasıl os x uygulamalar tarafından kullanılan $ PATH ayarlamak için değişiklik yapma önerileri,

~ / .MacOSX / environment.plist

ama yine no such file and directoryhata yaptım .

Bu değişkenleri, her yeni terminal oturumu açışımda tekrar tekrar ayarlamayı gerektirmeyecek şekilde ayarlamak için bir yola ihtiyacım var.


~ / .profile oluşturabilir, çoğu * nix sistemi dosyayı tanır ve varsa onu kullanır. yine de yeniden başlatmaya ihtiyacınız olabilir
trve.fa7ad

~ / .MacOSX / environment.plist kullanımdan kaldırıldı.
Pierre ALBARÈDE

Yanıtlar:


260

Onu eklemelisin /etc/paths.

Referans (benim için çalışıyor): Burada


6
El Capitan'da çalışan tek çözüm budur. Modifiye daha iyi .bash_profileve .profile.
IgorGanapolsky

1
Öğelerin yoldan (yorumlarda) nasıl kaldırılacağını açıklayan, eklenen referans için yanıta olumlu oy verildi.
Amudhan

Bu EL Capitan'da çalıştı. Tüm terminalleri kapatın ve echo $ PATH'ı kontrol etmek için yeni bir terminal açın.
Prem Ananth C

Cevap 5 yaşında ama yine de en kolay ve en basit çözüm. Cevap + referans için teşekkürler
Rachit Magon

Terminalinizi 'yeniden başlatmayı' unutmayın.
Neeraj Singh

27

$PATHMacOS'ta değişkeni etkileyebilecek bazı dosyalar olduğunu buldum (benim için çalışıyor, 10.11 El Capitan), aşağıda listelenmiştir:

  1. En çok oylanan cevabın dediği gibi vi /etc/paths, bu benim açımdan tavsiye edilmektedir.

  2. Ayrıca /etc/paths.d, $PATHdeğişkeni etkileyebilecek dosyaları içeren dizini de unutmayın, benim durumumda gitve mono-commandyolunu ayarlayın . Şunları yapabilirsiniz ls -l /etc/paths.döğeleri listelemek için ve rm /etc/paths.d/path_you_dislikeöğeleri kaldırmak için.

  3. Bir "bash" ortamı kullanıyorsanız ( Terminal.appörneğin , varsayılan ), ~/.bash_profileveya kontrol etmelisiniz ~/.bashrc. Henüz o dosya olmayabilir, ancak bu iki dosyanın $PATH.

  4. Bir "zsh" ortamı kullanıyorsanız ( örneğin Oh-My-Zsh ), bir şey ~./zshrcyerine kontrol etmelisiniz ~/.bash*.

Ve o zaman tüm terminal pencerelerini yeniden başlatmayı unutmayınecho $PATH . $PATHDize olacaktır PATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2.

İlk iki yolun ( /etc/pathsve /etc/path.d) /dizinde olduğunu ve son iki yolun ( ~/.bash*veya ~/.zsh*) ~/dizinde (diğer adıyla ) olduğu halde bilgisayarınızdaki tüm hesapları /Users/yourusername/etkileyeceğini ve yalnızca hesap ayarlarınızı etkileyeceğini fark ettiniz.

Daha fazlasını okuyun: Mac OS X: $ PATH Değişkenini Ayarlayın / Değiştirin - nixCraft


2
Bazı durumlarda .bash_profile dosyasını düzenlemeyi çok seviyorum, çünkü o zaman makinenizde iki kullanıcı hesabınız varsa, bunlardan sadece biri için komut dosyaları ekleyebilirsiniz örneğin ~ / dev / scripts
PeteW

fark etmediğim şey bash yerine zsh kullandığımdı. Teşekkürler!
Dişi aslan

11

Bunu da ekleyebilirsiniz

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

için ~/.bash_profile, sonra ~/.bashrcPATH'ye daha fazla yol ekleyebileceğiniz bir yer oluşturun . Bir örnek.

export PATH=$PATH:.

Teşekkür ederim. Önceki çözümü kullandım, ancak bu yöntemi uygularsam, DYLD_LIBRARY_PATH değişkenlerini kalıcı olarak ayarlayabileceğim anlamına mı gelir?
patti_jane

Evet yapabilmelisin. Değişiklikleri görmek istiyorsanız, terminalinizi kapatıp yeniden açın veya şunu yazın. ~/.bashrc
omoman

Yukarıdaki kodu konumuna . ~/.bash_profileekledim, ardından terminali yeniden açtım ve yazıyorum . ~/.bashrc, ancak böyle bir dosya veya dizin yok mu?
patti_jane

Onu yaratman gerekiyor. Yukarıdaki satırlar, varsa .bash_profileyüklemenizi söyler .bashrc. Sonra boşluğa .bashrcistediğiniz her şeyi ekleyebilirsiniz.
omoman

Çok teşekkürler! Çok fazla soru sorduğumu biliyorum, ancak nasıl oluşturulacağının düzgün bir şekilde belirtildiği bir bağlantı biliyor .bashrcmusunuz? İyi bir tane bulamadım.
patti_jane

8

Aşağıdaki dosyalardan herhangi birini açabilirsiniz:

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)

Ve Ekle:

export PATH="$PATH:your/new/path/here"

8

MacOS'ta PATH ortam değişkenine yeni bir yol eklenmek için, /etc/paths.ddizin altında yeni bir dosya oluşturun ve dosyada ayarlanacak yazma yolunu ekleyin. Terminali yeniden başlatın. İle kontrol edebilirsinizecho $PATHYolun ortam değişkenine eklenip eklenmediğini onaylamak için komut isteminde .

Örneğin: Yeni bir yol eklemek için /usr/local/sbiniçin PATHdeğişken:

cd /etc/paths.d
sudo vi newfile

Yolu ekleyin. newfile ve kaydedin.

Terminali yeniden başlatın ve echo $PATHonaylamak için yazın


Bu cevabın neden reddedildiğinden emin değilim. Yol değişkenlerini düzenlemenin makul ve mantıklı bir yolu gibi görünüyor. Her standart olmayan yol değişkeni için ayrı dosyalar oluşturmak için paths.d kullandım.
p_q

0

Mac'te yol ayarlamak için iki yöntem izlenebilir.

  1. Değişken adı için bir dosya oluşturun ve yolu /etc/paths.d altına yapıştırın ve dosyayı profile_bashrc olarak kaynaklayın.
  2. Yol değişkenini ~/.profile_bashrcolarak dışa aktar

    dışa aktar VARIABLE_NAME = $ (PATH_VALUE)

VE yolu kaynakla. Basit ve kararlı.

Herhangi birini path variableby Mac terminalveya in olarak linuxda ayarlayabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.