Я пытаюсь использовать /etc/paths.d, чтобы добавить исполняемый файл к моей переменной пути, но пока не добился успеха.
Полный путь к исполняемому файлу: /opt/ImageMagick/bin/convert
/etc/paths.d содержит два файла: 40-XQuartz и ImageMagick
40-XQuartz содержит одну строку: /opt/X11/bin
ImageMagick содержит одну строку:/opt/ImageMagick/bin
Моя echo $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:/usr/local/bin:/opt/X11/bin
Таким образом, кажется, что только первый файл (40-XQuartz) делает свою работу. Права доступа к двум файлам (40-XQuartz и ImageMagick) абсолютно одинаковы, поэтому мой вопрос - почему первый работает, а второй - нет.
Я использую OS X Mavericks.
/etc/paths.d
ссылок работает для меня, но я перезапускаю любое терминальное приложение, которое я использую (в моем случае ITerm2), чтобы новый путь вступил в силуОтветы:
Вы запустили новую оболочку для входа после добавления нового файла для ImageMagick? Настройка пути из
paths.d
записей выполняется в/etc/profile
и/etc/csh.login
, поэтому вам нужно запустить новую оболочку, чтобы новые записи вступили в силу.OS X использует,
path_helper
чтобы установить путь на основе файлов в/etc/paths.d
- вы всегда можете вызвать его вручную (при условии, что здесь используется оболочка типа Bourne):источник
Бег
добавляет
/opt/ImageMagick/bin
кPATH
моей установке.Вы переопределяете
PATH
в каком-то другом месте, как~/.bash_profile
?Пути в
/etc/paths.d/
добавлении к пути с помощью/usr/libexec/path_helper
, которая запускается из/etc/profile
,/etc/zsh.env
, и/etc/csh.login
.path_helper
не запускается графическими приложениями или когда bash вызывается как не входящая в систему оболочка.Вы также можете установить значение
PATH
по умолчанию в/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
и перезапустите процессы.Я предпочитаю изменять путь
/etc/launchd.conf
, потому что это также влияет на программы, которые не запускаются из оболочек, такие как текстовые редакторы и программы, запускаемые запущенными заданиями.источник
Круто, я просто поиграл с добавлением ImageMagic на мой Mac. Мало того, что вы нуждаетесь
ImageMagick/bin
в вашемPATH
, вам также нужен набор переменных окружения или добавленный в:Для тестирования вы можете создать его вручную с помощью:
Информация для установки переменной среды для Mac OS может быть найдена здесь, Установка переменных среды в OS X?
источник