Textmate запускается через launchd, а не из оболочки.
Ваш $ PATH переместится, если вы запустите что-то непосредственно из оболочки (open -a Textmate не работает, open не передаст вашу средуTextmate).
Обойти это можно следующим образом: environment.plist, launchctl или launchd.conf:
Установка переменных среды в OS X?
update
Если вы отредактируете /etc/launchd.conf
и перезагрузите компьютер, изменения вступят в силу.Каждая строка может быть командой launchctl, такой как setenv VAR_NAME "VAR_VALUE"
.Затем вы можете запустить этот файл с launchctl your_file
.
Хотя перезагрузка - это боль.И если вы хотите индивидуальные настройки среды, это не хорошо.Apple предлагает использовать ~/.launchd.conf
для пользовательских настроек, но пока не реализовала эту функцию.
Вы можете настроить скрипт для запуска при входе в систему с помощью LoginHook и LogoffHook (см. документация Apple ).Или, используя LaunchAgents.Подробные инструкции о том, как настроить LaunchAgent, можно найти в посте nicksay на этом сообщении Macworld .
Команда launchctl setenv
не работает при входе в систему. Яв настоящее время я бьюсь головой об этом.
Я столкнулся с той же самой проблемой, с которой вы столкнулись сегодня (пакет Makefile не передает LIBRARY_PATH в gcc), и сейчас я пишу скрипт на python, который будет читатьфайл назначений переменных при входе в систему, сохраните копию текущей среды и этот файл с назначениями, а затем выгрузите все переменные при выходе из системы.Это также напоминает мне, у меня должна быть опция обновления.Я опубликую комментарий со ссылкой на репозиторий Github для этого здесь, когда я закончу.Если это работает, то это.