Yoluma yürütülebilir dosyalar eklemek için /etc/paths.d nasıl kullanılır?


15

Yol değişkenime yürütülebilir bir eklemek için /etc/paths.d kullanmaya çalışıyorum ama şimdiye kadar hiçbir başarı var.

Yürütülebilir dosyanın tam yolu: /opt/ImageMagick/bin/convert

/etc/paths.d iki dosya içerir: 40-XQuartz ve ImageMagick

40-XQuartz bir satır içerir: /opt/X11/bin
ImageMagick bir satır içerir:/opt/ImageMagick/bin

Benim echo $PATHveririm:

/Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

Yani sadece ilk dosya (40-XQuartz) işini yapıyor gibi görünüyor. İki dosyanın (40-XQuartz ve ImageMagick) izinleri tamamen aynıdır, bu yüzden sorum birincisinin neden çalıştığını ve ikincisinin çalışmadığını.

OS X Mavericks kullanıyorum.


Hangi kabuğu kullanıyorsun? / Etc / paths nedir?
Max Ried

/etc/paths.dBenim için çalışıyor sert ekleme , ama yeni yol yürürlüğe girmesi için kullandığım terminal uygulaması (benim durumumda ITerm2) yeniden başlatın
user1256923

Yanıtlar:


17

ImageMagick için yeni dosyayı ekledikten sonra yeni bir giriş kabuğu başlattınız mı? paths.dGirişlerden yolun ayarı yapılır /etc/profileve /etc/csh.loginbu nedenle yeni girişlerin etkili olması için yeni bir kabuk başlatmanız gerekir.

OS X path_helper, yolu içindeki dosyalara göre ayarlamak için kullanır /etc/paths.d- her zaman manuel olarak çağırabilirsiniz (burada Bourne benzeri bir kabuk varsayarak):

$ eval `/usr/libexec/path_helper -s`

Tabii ki yeni bir kabuk başlattım, hatta mac'umu yeniden başlattım.
skiabox

yeni giriş kabuğu benim için çalıştı
incandescentman

3

Koşu

echo /opt/ImageMagick/bin|sudo tee /etc/paths.d/ImageMagick;bash -l;echo $PATH

ekler /opt/ImageMagick/biniçin PATHbenim yüklemesinde.

Gibi PATHbaşka bir yerde mi geçiyorsun ~/.bash_profile?

Yolları bölgesindeki /etc/paths.d/tarafından yol eklenir /usr/libexec/path_helperçalıştırılan, /etc/profile, /etc/zsh.envve /etc/csh.login. path_helpergrafiksel uygulamalar tarafından veya bash oturum açma dışı kabuk olarak çağrıldığında çalıştırılmaz.

Ayrıca, bir varsayılan ayarlayabilirsiniz PATHiçinde /etc/launchd.conf:

  1. Örneğin çalıştırın setenv PATH /Users/Administrator/.rbenv/shims:/Users/Administrator/.rbenv/bin:/Users/Administrator/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/ImageMagick/bin|sudo tee -a /etc/launchd.conf.
  2. Yeniden başlatın veya launchctl</etc/launchd.conf;sudo launchctl</etc/launchd.confişlemleri çalıştırın ve yeniden başlatın .

Yolu değiştirmeyi tercih ederim /etc/launchd.conf, çünkü metin editörleri ve fırlatma işleri tarafından başlatılan programlar gibi kabuklardan başlatılmayan programları da etkiler.


0

Harika, Mac'ime ImageMagic ekleyerek oynuyordum. Sadece ihtiyacınız yapmak ImageMagick/binGözlerinde farklı PATH, aynı zamanda bir ortam değişkeni set lazım veya eklendi:

Test etmek için aşağıdakileri manuel olarak oluşturabilirsiniz:

export DYLD_LIBRARY=".:/opt/ImageMagic/lib"

Mac OS için bir ortam değişkeni ayarlama bilgileri burada bulunabilir, OS X'te ortam değişkenleri ayarlama?

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.