Установите переменные среды в Mac OS X Lion - PullRequest
521 голосов
/ 21 сентября 2011

Когда кто-то говорит «отредактируйте ваш файл .plist» или «ваш .profile» или «.bash_profile» и т. Д., Это просто смущает меня. Я понятия не имею, где находятся эти файлы, как их создать, если я должен это сделать и т. Д., А также почему, кажется, существует так много разных файлов (почему? Они делают разные вещи?)

Так может кто-то, пожалуйста, очень терпеливо объяснить предыдущему пользователю Windows (желающему отчаянно поближе познакомиться с приятным, хотя и немного запутанным миром OS X), как сделать это шаг за шагом?

Мне нужно, чтобы переменные были установлены как для приложений с графическим интерфейсом, так и для приложений командной строки, и на данный момент переменные нужны для сценария ant, но, скорее всего, будут и другие потребности.

Обратите внимание, что у меня тоже есть Lion, так как многие ответы, которые вы получаете, Googling, кажется, устарели для Lion ...

Также обратите внимание, что у меня практически нет опыта использования Терминала. Я готов учиться, но, пожалуйста, объясните новичку ...

Ответы [ 15 ]

396 голосов
/ 21 сентября 2011

Во-первых, нужно признать, что OS X построен на Unix.Это где .bash_profile приходит. Когда вы запускаете приложение терминала в OS X, вы получаете оболочку bash по умолчанию.Оболочка bash поставляется из Unix и при загрузке запускает скрипт .bash_profile.Вы можете изменить этот скрипт для вашего пользователя, чтобы изменить ваши настройки.Этот файл находится по адресу:

~/.bash_profile

Обновление для Mavericks

OS X Mavericks не использует environment.plist - по крайней мере, не для OS XWindows-приложения.Вы можете использовать конфигурацию launchd для оконных приложений..Bash_profile по-прежнему поддерживается, поскольку он является частью оболочки bash, используемой в Терминале.

Только для Lion и Mountain Lion

Оконные приложения OS X получают переменные среды изваш файл environment.plist.Это, вероятно, то, что вы подразумеваете под файлом ".plist".Этот файл находится по адресу:

~/.MacOSX/environment.plist

Если вы внесете изменение в свой файл environment.plist, то приложения Windows OS OS, включая приложение Terminal, будут иметь эти переменные среды.Любая переменная окружения, которую вы установили в своем .bash_profile, будет влиять только на ваши оболочки bash.

Обычно я устанавливаю переменные только в своем файле .bash_profile и не изменяю файл .plist (или файл запуска на Mavericks).Большинству оконных приложений OS X не требуется настраиваемая среда.Только когда приложению действительно нужна конкретная переменная среды, я могу изменить environment.plist (или файл launchd на Mavericks).

Звучит так, будто вы хотите изменить файл environment.plist, а не.bash_profile.

И последнее: если вы посмотрите на эти файлы, я думаю, вы их не найдете.Если я правильно помню, их не было в моей первоначальной установке Lion.

Edit: Вот несколько инструкций по созданию plist-файла.

  1. Open Xcode
  2. Выберите Файл -> Новый -> Новый файл ...
  3. В Mac OS X выберите Ресурсы
  4. Выберите файл списка
  5. Следуйте остальнымподсказки

Чтобы отредактировать файл, вы можете щелкнуть его, удерживая нажатой клавишу «Control», чтобы открыть меню и выбрать «Добавить строку».Затем вы можете добавить пару ключ-значение.Для переменных среды ключ - это имя переменной среды, а значение - фактическое значение для этой переменной среды.

После создания файла plist вы можете открыть его с помощью Xcode, чтобы изменить его в любое время.

219 голосов
/ 21 сентября 2011

Ваши .profile или .bash_profile - это просто файлы, которые присутствуют в вашей "домашней" папке.Если вы откроете окно Finder и нажмете имя своей учетной записи на панели «Избранное», вы их не увидите.Если вы откроете окно терминала и наберете ls, чтобы вывести список файлов, вы все равно их не увидите.Тем не менее, вы можете найти их, используя ls -a в терминале.Или если вы откроете свой любимый текстовый редактор (скажем, TextEdit, поскольку он поставляется с OS X) и выполните File-> Open, а затем нажмите Command + Shift + . и нажмите на имя вашей учетной записи (домашняя папка), вы также увидите их.Если вы их не видите, вы можете создать их в своем любимом текстовом редакторе.

Теперь добавление переменных среды относительно просто и удивительно похоже на окна концептуально.В вашем .profile просто добавьте по одному на строку, имя переменной и ее значение следующим образом:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

и т. Д.

Если вы изменяете переменную «PATH», убедитесь, чточтобы включить стандартный PATH системы, который уже был установлен для вас:

export PATH=$PATH:/path/to/my/stuff

Теперь вот странная часть, вы можете либо открыть новое окно терминала, чтобы новые переменные вступили в силу, либо вам потребуетсявведите .profile или .bash_profile, чтобы перезагрузить файл и применить его содержимое к среде вашего текущего терминала.

Вы можете проверить, что ваши изменения вступили в силу, используя команду "set" в вашем терминале.Просто наберите set (или set | more, если вы предпочитаете разбитый на страницы список) и убедитесь, что вы добавили в файл то, что там есть.

Что касается добавления переменных среды в приложения с графическим интерфейсом, это обычно не требуетсяЯ хотел бы услышать больше о том, что вы конкретно пытаетесь сделать, чтобы лучше дать вам ответ на этот вопрос.

76 голосов
/ 13 января 2012

Вот немного больше информации конкретно о переменной PATH в Lion OS 10.7.x:

Если вам нужно установить глобальную переменную PATH, PATH создается системой в следующем порядке:

  1. Разбор содержимого файла /private/etc/paths, один путь на строку
  2. Разбор содержимого папки /private/etc/paths.d. Каждый файл в этой папке может содержать несколько путей, по одному пути на строку. Порядок загрузки определяется сначала именем файла, а затем порядком строк в файле.
  3. оператор setenv PATH в /private/etc/launchd.conf, который добавит этот путь к пути, уже встроенному в # 1 и # 2 (вы не должны использовать $ PATH для ссылки на переменную PATH, которая была построен до сих пор). Но установка PATH здесь совершенно не нужна, учитывая две другие опции, хотя это место, где другие глобальные переменные среды могут быть установлены для всех пользователей.

Эти пути и переменные наследуются всеми пользователями и приложениями, поэтому они действительно глобальны - выход из системы и сброс этих путей не будут сброшены - они созданы для системы и создаются до того, как любому пользователю будет предоставлена ​​возможность для входа в систему, поэтому для внесения изменений в них требуется перезагрузка системы.

Кстати, чистая установка ОС 10.7.x Lion не имеет environment.plist, который я могу найти, поэтому он может работать, но также может быть устаревшим.

49 голосов
/ 12 августа 2013
echo $PATH

выводит текущее значение пути

Затем выполните vim ~/.bash_profile и напишите

export PATH=$PATH:/new/path/to/be/added

здесь вы добавляете старый путь, поэтому сохраняете старый путь и добавляете вашновый путь к нему

, затем выполните

source ~/.bash_profile

, это запустит его и добавит путь

, затем снова проверьте с помощью

echo $PATH
30 голосов
/ 24 сентября 2013

К сожалению, ни один из этих ответов не решил мою проблему.

Вот простое решение без необходимости связываться с bash. В моем случае он получал gradle на работу (для Android Studio).

Кстати, эти шаги относятся к OSX (Mountain Lion 10.8.5)

  • Открыть терминал.
  • Запустите следующую команду:

    sudo nano /etc/paths (или sudo vim /etc/paths для vim)

    nano

  • Перейдите в конец файла и введите путь, который вы хотите добавить.
  • Нажмите control-x, чтобы выйти.
  • Введите 'Y', чтобы сохранить измененный буфер.
  • Откройте новое окно терминала и введите:

    echo $PATH

Вы должны увидеть новый путь, добавленный в конец PATH

Я получил эти данные из этого поста:

http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q

Я надеюсь, что может помочь кому-то еще

23 голосов
/ 06 июня 2012

Упрощенное объяснение

Этот пост / вопрос довольно старый, поэтому я отвечу на упрощенную версию для пользователей OS X Lion.По умолчанию OSX Lion не имеет ни одного из следующих файлов:

  • ~ / .bashrc
  • ~ / .bash_profile
  • ~ / .profile

Самое большее, если вы что-то сделали в терминале, вы можете увидеть ~ / .bash_history

Что это значит

Вы должны создать файл, чтобы установить bash по умолчаниюкоманды (обычно в ~ / .bashrc).Для этого используйте любой вид редактора, хотя в терминале это сделать проще:

  1. %> emacs .profile
  2. [из w / in типа emacs:]source ~/.bashrc
  3. [из w / in emacs типа:] Ctrl + x Ctrl + s (чтобы сохранить файл)
  4. [из w / in emacs типа:] Ctrl + x Ctrl + c (чтобы закрыть emacs)
  5. %> emacs .bashrc
  6. [из / в emacs введите / вставьте все свои команды bash, сохраните и выйдите]

При следующем выходеи перезагрузите терминал, он должен загрузить все ваши настройки bash.Для хорошей меры обычно лучше разделить ваши команды на полезные имена файлов.Например, из ~ / .bashrc вы должны иметь source ~/.bash_aliases и поместить все свои команды псевдонимов в ~ / .bash_aliases.

18 голосов
/ 26 октября 2011

Для меня сработало создание .launchd.conf с нужными мне переменными:

setenv FOO barbaz

Этот файл читается при запуске с помощью login.Вы можете добавить переменную «на лету» к запуску launchd, используя:

launchctl setenv FOO barbaz`

На самом деле, .launchd.cond просто содержит команды launchctl.

Переменные, установленные таким образом, кажутся присутствующимив приложениях с графическим интерфейсом.

Если вы пытаетесь установить переменные LANG или LC_ таким образом, и вы используете iTerm2, убедитесь, что вы отключили параметр «Автоматически устанавливать переменные локали» подТерминальная вкладка профиля, который вы используете.Кажется, это переопределяет переменные среды launchd, и в моем случае я устанавливал битый LC_CTYPE, вызывающий проблемы на удаленных серверах (которые передали переменную).

(хотя, похоже, все еще работает среда.Вы можете использовать панель настроек RCenvironment , чтобы сохранить файл, а не редактировать его вручную или требовать Xcode. По-прежнему работает на Lion, хотя его последнее обновление относится к эпохе Snow Leopard..)

14 голосов
/ 19 декабря 2013

Настройте переменную среды PATH в Mac OS

Откройте программу Terminal (по умолчанию она находится в папке «Программы / Утилиты»).Выполните следующую команду

touch ~/.bash_profile; open ~/.bash_profile

Это откроет файл в текстовом редакторе по умолчанию.

Для ANDROID SDK, например:

Вынеобходимо добавить путь к каталогу инструментов и инструментов платформы Android SDK.В моем примере я буду использовать «/ Development / android-sdk-macosx» в качестве каталога, в котором установлен SDK. Добавьте следующую строку:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

Сохраните файл и выйдите из текстового редактора.Запустите ваш .bash_profile, чтобы обновить PATH.

source ~/.bash_profile

Теперь каждый раз, когда вы открываете программу Terminal, PATH будет включать Android SDK.

11 голосов
/ 07 июня 2012

Добавление переменных пути в OS X Lion

Это было довольно просто и сработало для меня, в терминале:

$echo "export PATH=$PATH:/path/to/whatever" >> .bash_profile #replace "/path/to/whatever" with the location of what you want to add to your bash profile, i.e: $ echo "export PATH=$PATH:/usr/local/Cellar/nginx/1.0.12/sbin" >> .bash_profile 
$. .bash_profile #restart your bash shell

Аналогичный ответ был здесь: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516

7 голосов
/ 19 ноября 2016

Открытый терминал:

vi ~/.bash_profile

Применить изменение к системе (перезагрузка компьютера не требуется):

source ~/.bash_profile

(также работает с macOS Sierra 10.12.1)

...