Mac OS X ve / veya Eclipse'de PATH env değişkeni


17

Yolu bash olarak yazdırdığımda, bunu yazdırır:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

System.out.println (System.getenv ("PATH")) çalıştırdığımda; Eclipse altında çalışan Java'da yazdırır

/usr/bin:/bin:/usr/sbin:/sbin

Bu tutarsızlığın neden olduğunu nasıl anlayabilirim? PATH'e / usr / local / bin eklemem ve Eclipse altındaki Java uygulamalarına sunmam gerekiyor. (not: Hiçbir değişiklik sistem yolu yapmadım, bu yüzden bunlar OS tarafından veya belki de yüklediğim bir veya daha fazla uygulama tarafından ayarlanan varsayılanlardır.)

Yanıtlar:


10

OSX üzerinde geniş bir değişken sistemi ayarlamak istiyorsanız, sistemi ~ / .MacOSX / environment.plist dosyanıza koymanız gerekir.

Daha fazla ayrıntı için apple web sitesinde bu sayfaya bakın .


1
Ne yazık ki, bu benim için işe yaramıyor.
thSoft

9

Yıllar sonra cevap arayanlar için (Neon, Oksijen):

Eclipse'deki düğümüm ve açısal / açısal2 takımımın bazıları, MacOS terminalindeki $ PATH girişlerinin eksik olması nedeniyle başarısız oldu. Takımlarınız, oturum açma / kullanıcı kabuğunuzu sağlamaya başlamayan gömülü tutulma terminalini kullanabilir. Bu nedenle, kullanıcılarınızın PATH ayarlarını oluşturmak için eclipse tercihlerinizde eclipse tercihlerinizde --login shell olarak başlayacak şekilde ayarlamanız gerekir:

Şuraya git:

Preferences -> Terminal -> Local Terminal

ve ayarla

Arguments için: --login

Eclipse içinde yeni bir Terminal açın ve kullanıcınızın $ PATH'ı bundan sonra kullanılmalıdır. Ayrıca Eclipse'de yeni bir Terminal açarken ~ / .bash_profile içinde kurduğunuz her şey çalışır.


En iyi çözüm, sadece GUI'deki eclipse yapılandırmasını değiştirerek sorunu çözer.
pXel

Bu cevap beni Oksijene yükseltti ve çalışması için ihtiyacım olan buydu.
John

Eclipse'de "2019-06 (4.12.0)" sürüm dizesiyle "Terminal" alt menüsüne sahip değilim.
tsj

8

Aynı sorun vardı. İşte benim çözümüm:

  1. Düzenleme /etc/pathsdosya istenen ek yolunu eklemek için.

  2. Bir OSX kurulumu /Applications/eclipse/eclipse için /Applications/eclipse/Eclipse.app


1
Burada omg 2 numaralı SO ÇOK FRUSTRATION çözüm oldu. Teşekkürler!!
Tommy

1
Bu web sitesine kaydoldum, bu yüzden bu cevabı oylayabilirim - madde 2 düzeltildi!
Iftah

Etc / path'larını nerede bulabilirim?
John

1
@John /etc/pathsdosyanın tam yoludur. Cmd + Üst Karakter + G tuşlarına basıp içine "/ etc" koyabilir ve enter / return tuşuna basabilirsiniz. Orada "paths" isimli dosyayı bulmalısınız.
Sufyan

6

Aha, buldum şu web sayfasını :

Not: Mac OS X, varsayılan PATH içinde / usr / local / bin öğesini içermez. Bu nedenle, varsayılan bash kabuğunu kullandığınızı varsayarsanız, lütfen bu araçlardan herhangi birini kullanmadan önce export PATH = / usr / local / bin: $ PATH yazın (veya / etc / profile ekleyin).

Bu uygun / uygunsuz bir şey mi? Ne yaptığımı gerçekten bilmiyorsam, sistem dosyalarını düzenleme konusunda temkinli davranıyorum. / usr / local / bin sadece root tarafından yazılabilir, bu yüzden bir güvenlik açığı açmazdım, değil mi?


Garip, ihracat yolunu ekledim ve Dock'tan tutulma üzerinde hiçbir etkisi yok. Ayrıca yollar hakkında bu sayfayı buldum ve / etc / paths dosyam var

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

ve yine de bu yollar tutulmada görünmüyor ... Dock'tan çalışabileceğim $ PATH çıktısı veren bir ikili dosya oluşturmanın / bulmanın kolay bir yolu var mı, bu yüzden daha kolay hata ayıklayabilir miyim? Eclipse'in yolun etrafına dolanıp çarpılmadığını bilmiyorum.


2
Son sorunuz için +1. Ben bash veya Terminal değil OS X yol sorunları teşhis nasıl merak ediyorum .
fideli

Gelecekteki Google çalışanları için not: Apple artık /usr/local/binkullanıcıların ilkini içeriyor $PATH. (Bkz. Buraya .)
Telemachus

4

Eclipse kullanıyorsanız ("Mars" ile test edilmiştir), "Yapılandırmayı Çalıştır" seçeneğini değiştirebilirsiniz:

  1. "Çalıştır" → "Yapılandırmaları Çalıştır ..." öğelerini tıklayın.
  2. Soldan uygun çalıştırma yapılandırmasını seçin
  3. Şimdi "Ortam" sekmesini seçin
  4. "Yeni ..." seçeneğini tıklayın
  5. "Ad" alanına "PATH" girin
  6. Şimdi Terminalinize gidin, "echo $ PATH" girin ve sonucu kopyalayın
  7. Sonucu "Değer" alanına geçmiş
  8. Klick "Tamam"
  9. "Ortam" sekmesinde, "Ortamı yerel ortama ekle" yi seçtiğinizden emin olun.

Şimdi Eclipse, PATH ortam değişkeni için sisteminizle aynı değerleri kullanır. Unutmayın: Bu yalnızca seçtiğiniz çalıştırma yapılandırması için geçerlidir.

Sorunuzda daha önce belirtildiği gibi, Java ile şunları kontrol edin:

System.getenv();

2

Büyük olasılıkla, bash oturum açma komut dosyalarınızdan ( .bashrcveya .bash_profile) biri değişiyor $PATH. Eclipse'i terminalden başlatırsanız /usr/local/bin, yoluna giriyor mu?


1
İyi karar! Eclipse'ı terminalden çalıştırırsam, yolunda / usr / local / bin var. Şimdi ne yapmalıyım? / Usr / local / bin tüm uygulamaların yolunda olması gereken bir şey değil mi? Eclipse'i Finder'dan veya Dock'tan çalıştırırsam, yolun içinde olmasını sağlamak için bunu hangi komut dosyasına koyabilirim?
Jason S

1
Ayrıca kullanıcı dizinimde bir .bashrc veya .bash_profile dosyası yok.
Jason S

2

Yukarıdaki bu ipucu benim için çalışıyor: 1) / etc / path'lere root olarak yol ekleyin 2) $ ECL_HOME / Eclipse.app / Contents / MacOS / eclipse ile $ ECL_HOME / Eclipse.app ile başlayın


Bu benim için çalışıyor, çok teşekkür ederim! Benim durumumda, Eclipse'i çalıştırmak için yol /Applications/Eclipse.app/Contents/MacOS/eclipse
Tsung-Ting Kuo

2

Alternatif olarak, /usr/localdizininize uygulamanızı işaret eden sembolik bir bağlantı ekleyebilirsiniz .

Örneğin root;

ln -s / Uygulamalar / PhantomJS/phantomjs-1.9.2-macosx/bin/phantomjs / usr / local / phantomjs

Bu, dış PhantomJS uygulamasını Eclipse'deki bir Maven projesinden çalıştırmama (mvn testi) yardımcı oldu .


Bunun gibi bir şey $PATHya da dizinlerle ilgisi yok $PATHgibi görünüyor /usr/local/bin. Daha ayrıntılı açıklayabilir misiniz?
pabouk

yolun herhangi bir yerine, yolda olmayan gerçek konumu gösteren sembolik bir bağlantı koyarsınız. Daha önce yaptım, tek yürütülebilir dosyalar için çalışıyor, dosyalarla dolu bir dizin için çalışmıyor
Jason S


1

Eclipse NEONU, mac OS X 10.11.6
Eclipse terminal kullanamaz mvnkomutu. (Ben bir yumuşak bağlantısını yapmak mvniçinde /usr/local/bin)

Sıcaklık çözümü:

Sağ tıklayın /Applications/eclipse-> paket içeriğini göster -> içerik -> MacOS -> eclipsebaşlatmak için çift ​​tıklayın .

Eclipse'i bu şekilde başlatın, Eclipse tüm yol ayarlarını algılayabilir ve sonra mvnEclipse terminalindeki komutu şimdi kullanabilirim.

eclipseBu klasörü sağ tıklatıp rahatça başlatmak için takma ad yapabilirsiniz.

Şu anda nedenini bilmiyorum. Bence bu bir tutulma HATASI olmalı.


0

~/.bash_profileyolu içerecek şekilde düzenle

fırlatma rampasında başlamak yerine,

terminali açın ve

/Applications/Eclipse.app/Contents/MacOS/eclipse

Bu benim için hile yaptı.


0

Birkaç cevabı bir araya getirip kolay bir şeye güncelleyin:

  1. Eclipse.app'a sağ tıklayın ve "Paket İçeriğini Göster" i seçin
  2. "Tutulmayı" bulmak için İçindekiler / MacOS'a gidin.
  3. Sağ tıklayın ve "Takma Ad Oluştur" u seçin veya komut ve seçeneği basılı tutarken sürükleyip bırakın.
  4. Diğer adı Uygulamalar'daki gibi uygun bir yere koyun.
  5. Başlatmak için çift tıklayın.
  6. Adım 6 yok!

Bu sadece ham Eclipse çıktısını gösteren kullanışlı bir Terminal penceresi açmakla kalmaz, aynı zamanda giriş kabuğunuzda ayarladığınız yolu otomatik olarak benimser.

Böylece yolunuzu ayarlamak için normal yöntemlerden herhangi birini kullanabilirsiniz (düzenleme /etc/pathsveya ~/.bash_profileveya sadece iyi davranmış komut satırı aracını yüklemek gibi mbed) ve daha fazla endişelenmeyin. Terminalden arayabiliyorsanız Eclipse de arayabilir.

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.