Приложения, запущенные через поисковик, похоже, не уважаете путь, как установлено в .файл
. Поэтому, когда я пытаюсь запустить код из IDE (Intellij) я больше не имеют доступа к программам в/usr/местные/Бен, который обычно добавляется в мой путь в терминале.
Видимо .В MacOSX/среды.файл plist
раньше для этого, но он больше не работает в Лев.
Как я могу задать путь для поиска-запущенные приложения?
Если вы находитесь на 10.7 и 10.8 не, Решение ниже работает хорошо:
У меня была такая же проблема с Eclipse, но теперь я'вэ добавлены, например, следующие мои `.файл и потом он работал.
export PATH=some_path:another_path
launchctl setenv PATH $PATH
В случае, если вы хотите оставить первоначальный путь без изменений использовать
p=$(launchctl getenv PATH)
launchctl setenv PATH /my/new/path:$p
вместо (или просто setenv помощью следущей путь /мой/новый/путь:$(путь помощью следущей функции getenv)
).
Примечание: чтобы изменить траекторию помощью следущей не вступят в силу до пристани, там есть "перезагрузки" по. Новый процесс стыковки будет автоматически запускаться после текущего убит с помощью команды:
killall Dock
Чтобы ответить на этот вопрос в свой 'новый' проблема, я'вэ решил написать еще один ответ - потому что это проще объяснить с образцами.
Один из способов загрузить переменные окружения при запуске инструмента (IDE) для выбора, как это может быть сделано с помощью Eclipse - я думаю, там должна быть аналогичная структура в ваш инструмент (язь) тоже.
Как это может быть сделано в Eclipse - https://stackoverflow.com/questions/829749/launch-mac-eclipse-with-environment-variables-set
(немного повторно написано про переменные среды)
Создайте пустой текстовый файл под названием "затмение.Ш" в приложение Eclipse пакет каталога/приложения/затмение/Затмение.приложение/содержание/Макосе`
Открыть eclipse.sh в текстовом редакторе и введите следующее содержание:
#!/bin/sh
. ~/.bash_profile
logger "`dirname \"$0\"`/eclipse"
exec "`dirname \"$0\"`/eclipse" $@
В терминале установить исполняемый флаг eclipse.sh shell-скрипт, т. е.:
чмод +х /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.sh
Открыть затмение.приложение информация.plist и изменить значение ключа CFBundleExecutable от Eclipse для eclipse.sh.
В MacOS X не автоматически обнаружить, что затмение.приложение'S Инфо.plist файл был изменен. Поэтому нужно принудительно обновить базу данных LaunchService в терминале с помощью lsregister команду:
/Система/Библиотеки/Фреймворки/CoreServices.рамки/рамки/LaunchServices.база/поддержка/lsregister -в-Ф /приложения/затмение/Затмение.приложение
В следующий раз, когда вы запустите Eclipse.приложение из дока или из Finder переменные среды должны быть установлены.
На ОС Х 10.10 Йосемити, я использовал эту команду:
sudo launchctl config user path <my path setting>
Следует помнить, что его задает путь launchtl для все пользователи. Он работал хорошо для моего варианта использования. Обратите внимание, что вы'll быть предложено перезагрузить компьютер для эффектов, чтобы завладеть.
На горного льва все из/etc/путии
/и т. д./файл launchd.редактирования conf` и не'т принять любой эффект!
Яблоко'форумы разработчиков С сказать:
"и изменить информацию.plist файл из .;LSEnvironment и quot само приложение содержит собой " словарь с окружающей средой переменные, которые вы хотите.
~/.В MacOSX/среды.plist-это больше не поддерживается.&и"
Поэтому я напрямую редактировать приложение'ы информация.файл plist
(правой кнопкой мыши на "Имя_приложения.приложение" (в данном случае конечно), а потом "Показать содержимое пакета в
")
и добавил новую пару ключ/дикт называется:
<key>LSEnvironment</key>
<dict>
<key>PATH</key>
<string>/Users/flori/.rvm/gems/ruby-1.9.3-p362/bin:/Users/flori/.rvm/gems/ruby-1.9.3-p362@global/bin:/Users/flori/.rvm/rubies/ruby-1.9.3-p326/bin:/Users/flori/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:</string>
</dict>
(см.: LaunchServicesKeys документации в Apple)
теперь приложение (в моем случае конечно) использует данный путь и работает с Git 1.9.3 :-)
PS: конечно, вы должны настроить запись пути к вашим специфическим потребностям путь.
На горного льва (10.8.4), путь
, это специально как-то обходились. помощью следущей путь setenv /ваш/путь/здесь не имеет никакого влияния на
путьв терминале.приложение или Emacs.впоследствии приложение экземпляры выведен из дока или из Finder (в то время как
работает помощью следущей Спонг setenv фу штрафа). Также $дома/.файл launchd.conf
и не'т работу. /и т. д./файл launchd.conf
и это единственный способ я нашел, чтобы получить путь задан правильно везде. К сожалению, нельзя использовать переменные окружения, такие как $Home
и там, так что все пользователи на моем ноутбуке есть /пользователи/НБ/Бин
на их путь
. Что's только мне, так что я Дон'т волнует.
Попробуйте установить путь в ваш ~/.Profile или ~/.bash_profile или ~/.zprofile (для ЗШ). Это работало для меня с ВР-это было'т Читать путь, когда состоялся вывод из дока, но это работает при запуске из терминала. Я был в OSX 10.11 кстати.
Я не'т иметь достаточно хорошую ручку на этом, чтобы дать Вам большое объяснение, почему это работает, есть много объяснений в интернете про различные конфигурационные файлы и что они делают: https://stackoverflow.com/questions/415403/whats-the-difference-between-bashrc-bash-profile-and-environment
Кроме того, вижу здесь подобные обсуждения: https://stackoverflow.com/questions/3344704/path-variable-not-properly-set-in-gvim-macvim-when-it-is-opened-from-the-finder/24542893#24542893
На Mac ОС Х 10.8.4, горный лев, окружения PATH содержит пути, перечисленные в этом файле:
/etc/paths
Вы можете редактировать этот файл, используя инструмент командной строки, например, ВИМ
, используя следующую команду:
sudo vim /etc/paths