Saya mencoba menggunakan /etc/paths.d untuk menambahkan executable ke variabel path saya, tetapi sejauh ini saya belum berhasil.
Path lengkap file yang dapat dieksekusi adalah: /opt/ImageMagick/bin/convert
/etc/paths.d berisi dua file: 40-XQuartz dan ImageMagick
40-XQuartz berisi satu baris: /opt/X11/bin
ImageMagick berisi satu baris:/opt/ImageMagick/bin
Saya echo $PATH
memberi:
/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
Jadi sepertinya hanya file pertama (40-XQuartz) yang melakukan tugasnya. Izin kedua file (40-XQuartz dan ImageMagick) persis sama, jadi pertanyaan saya adalah mengapa yang pertama berfungsi dan yang kedua tidak.
Saya menjalankan OS X Mavericks.
/etc/paths.d
bekerja untuk saya, tapi saya me-restart aplikasi terminal apa pun yang saya gunakan (ITerm2 dalam kasus saya) agar jalan baru mulai berlakuJawaban:
Sudahkah Anda memulai shell login baru sejak menambahkan file baru untuk ImageMagick? Pengaturan jalur dari
paths.d
entri dilakukan di/etc/profile
dan/etc/csh.login
, jadi Anda perlu memulai shell baru agar entri baru berlaku.OS X menggunakan
path_helper
untuk mengatur path berdasarkan file di/etc/paths.d
- Anda selalu dapat menyebutnya secara manual (dengan asumsi shell seperti Bourne di sini):sumber
Lari
menambahkan
/opt/ImageMagick/bin
untukPATH
di instalasi saya.Apakah Anda mengesampingkan
PATH
di tempat lain seperti~/.bash_profile
?Jalan di
/etc/paths.d/
ditambahkan ke jalan oleh/usr/libexec/path_helper
, yang dijalankan dari/etc/profile
,/etc/zsh.env
, dan/etc/csh.login
.path_helper
tidak dijalankan oleh aplikasi grafis atau ketika bash dipanggil sebagai shell non-login.Anda juga dapat mengatur default
PATH
di/etc/launchd.conf
: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
.launchctl</etc/launchd.conf;sudo launchctl</etc/launchd.conf
dan jalankan kembali proses.Saya lebih suka mengubah jalur
/etc/launchd.conf
, karena juga mempengaruhi program yang tidak dimulai dari shell, seperti editor teks dan program yang dimulai oleh launchd jobs.sumber
Luar biasa, saya hanya bermain-main dengan menambahkan ImageMagic ke Mac saya. Anda tidak hanya membutuhkan
ImageMagick/bin
diPATH
, Anda juga memerlukan set variabel lingkungan, atau ditambahkan ke:Untuk menguji Anda dapat membuatnya secara manual dengan:
Informasi untuk pengaturan variabel lingkungan untuk Mac OS dapat ditemukan di sini, Mengatur variabel lingkungan di OS X?
sumber