Когда кто-то говорит «отредактируйте ваш файл .plist» или «ваш .profile» или «.bash_profile» и т. Д., Это просто смущает меня. Я понятия не имею, где находятся эти файлы, как их создать, если я должен это сделать и т. Д., А также почему, кажется, существует так много разных файлов (почему? Они делают разные вещи?)
Так может кто-то, пожалуйста, очень терпеливо объяснить предыдущему пользователю Windows (желающему отчаянно поближе познакомиться с приятным, хотя изначально несколько запутанным миром OS X), как сделать это шаг за шагом?
Мне нужно, чтобы переменные были установлены как для приложений с графическим интерфейсом, так и для приложений командной строки, и на данный момент переменные нужны сценарию ant, но, скорее всего, будут и другие потребности.
Обратите внимание, что у меня тоже есть Lion, так как многие ответы, которые вы получаете, Googling, кажется, для Lion устарели ...
Также обратите внимание, что у меня практически нет опыта использования Терминала. Я готов учиться, но, пожалуйста, объясните для новичка ...
Ответы:
Во-первых, нужно признать, что OS X построен на Unix. Это где .bash_profile приходит. Когда вы запускаете приложение терминала в OS X, вы получаете оболочку bash по умолчанию. Оболочка bash поставляется из Unix и при загрузке запускает скрипт .bash_profile. Вы можете изменить этот скрипт для вашего пользователя, чтобы изменить ваши настройки. Этот файл находится по адресу:
Обновление для Маверикс
OS X Mavericks не использует environment.plist - по крайней мере, не для приложений OS X Windows. Вы можете использовать конфигурацию launchd для оконных приложений. .Bash_profile по-прежнему поддерживается, поскольку он является частью оболочки bash, используемой в терминале.
Только лев и горный лев
Оконные приложения OS X получают переменные среды из файла environment.plist. Это, вероятно, то, что вы подразумеваете под файлом ".plist". Этот файл находится по адресу:
Если вы внесете изменения в свой файл environment.plist, то в этих приложениях Windows X, включая приложение Terminal, будут установлены эти переменные среды. Любая переменная окружения, которую вы установите в своем .bash_profile, будет влиять только на ваши оболочки bash.
Обычно я устанавливаю переменные только в своем файле .bash_profile и не изменяю файл .plist (или файл launchd на Mavericks). Большинству оконных приложений OS X не требуется настраиваемая среда. Только когда приложение действительно нуждается в определенной переменной среды, я могу изменить environment.plist (или файл launchd на Mavericks).
Похоже, вы хотите изменить файл environment.plist, а не .bash_profile.
И последнее: если вы посмотрите на эти файлы, я думаю, вы их не найдете. Если я правильно помню, они не были на моей первоначальной установке Lion.
Изменить: Вот несколько инструкций для создания файла plist.
Чтобы отредактировать файл, вы можете нажать Control, чтобы открыть меню, и выбрать «Добавить строку». Затем вы можете добавить пару ключ-значение. Для переменных среды ключ - это имя переменной среды, а значение - фактическое значение для этой переменной среды.
Как только файл plist создан, вы можете открыть его с помощью Xcode, чтобы изменить его в любое время.
источник
~/.bashrc
.~/.bashrc
Файл запускается каждый раз, когда вы открываете новую оболочку bash без входа в систему, например xterm / aterm, и~/.bash_profile
запускается только с оболочками входа в систему, т.е. при первом входе в систему.Ваши
.profile
или.bash_profile
просто файлы, которые присутствуют в вашей "домашней" папке. Если вы откроете окно Finder и нажмете имя своей учетной записи на панели «Избранное», вы их не увидите. Если вы откроете окно терминала и введетеls
список файлов, вы все равно их не увидите. Тем не менее, вы можете найти их, используяls -a
в терминале. Или, если вы откроете свой любимый текстовый редактор (скажем, TextEdit, поскольку он поставляется с OS X) и выполните File-> Open, а затем нажмите Command+ Shift+ .и нажмите на имя вашей учетной записи (домашняя папка), вы также увидите их. Если вы их не видите, вы можете создать его в своем любимом текстовом редакторе.Теперь, добавление переменных окружения относительно просто и удивительно похоже на окна концептуально. В вашем
.profile
просто добавить, по одному в строке, имя переменной и ее значение следующим образом :и т.п.
Если вы изменяете переменную «PATH», обязательно включите системный PATH по умолчанию, который уже был установлен для вас:
Теперь вот странная часть: вы можете либо открыть новое окно терминала, чтобы новые переменные вступили в силу, либо вам нужно будет набрать
.profile
или.bash_profile
перезагрузить файл и применить его содержимое к среде вашего текущего терминала.Вы можете проверить, что ваши изменения вступили в силу, используя команду "set" в вашем терминале. Просто введите
set
(или,set | more
если вы предпочитаете нумерованный список) и убедитесь, что вы добавили в файл.Что касается добавления переменных среды в приложения с графическим интерфейсом, это обычно не требуется, и я хотел бы услышать больше о том, что вы конкретно пытаетесь сделать, чтобы лучше дать вам ответ на этот вопрос.
источник
. .profile
чтобы загрузить их..profile
. Я просто заглянул в машину, которую я недавно купил, и они, кажется, используют.profile
эти дни, а не.bash_profile
Вот немного больше информации конкретно о переменной PATH в Lion OS 10.7.x:
Если вам нужно установить глобальную переменную PATH, PATH создается системой в следующем порядке:
/private/etc/paths
, один путь на строку/private/etc/paths.d
. Каждый файл в этой папке может содержать несколько путей, по одному пути на строку. Порядок загрузки определяется сначала именем файла, а затем порядком строк в файле.setenv PATH
Заявление в/private/etc/launchd.conf
, который будет добавить , что путь к пути уже построенного в # 1 и # 2 (вы не должны использовать $ PATH , чтобы ссылаться на переменную PATH , которая была создана до сих пор). Но установка PATH здесь совершенно не нужна, учитывая две другие опции, хотя это место, где другие глобальные переменные среды могут быть установлены для всех пользователей.Эти пути и переменные наследуются всеми пользователями и приложениями, поэтому они действительно глобальны - выход из системы и не будут сбрасывать эти пути - они созданы для системы и создаются до того, как любому пользователю будет предоставлена возможность войти в систему, поэтому изменения в них требуют перезагрузки системы для вступления в силу.
Кстати, чистая установка OS 10.7.x Lion не имеет того,
environment.plist
что я могу найти, так что это может работать, но также может быть устаревшим.источник
paths.d
отличаютсяpaths
? Кроме того, первое перекрывает второе?выводит текущее значение пути
Тогда делай
vim ~/.bash_profile
и пишиздесь вы добавляете к старому пути, поэтому сохраняете старый путь и добавляете к нему новый путь
тогда делай
это выполнит его и добавит путь
затем снова проверьте с
источник
К сожалению, ни один из этих ответов не решил ту проблему, которая у меня была.
Вот простое решение без необходимости возиться с
bash
. В моем случае это былоgradle
на работу (дляAndroid Studio
).Кстати, эти шаги относятся к OSX (Mountain Lion 10.8.5)
Запустите следующую команду:
sudo nano /etc/paths
(илиsudo vim /etc/paths
для vim)Откройте новое окно терминала и введите:
echo $PATH
Вы должны увидеть новый путь, добавленный в конец пути
Я получил эти детали из этого поста:
http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q
Я надеюсь, что может помочь кому-то еще
источник
Упрощенное объяснение
Этот пост / вопрос довольно старый, поэтому я отвечу на упрощенную версию для пользователей OS X Lion. По умолчанию OSX Lion не имеет ни одного из следующих файлов:
Самое большее, если вы что-то сделали в терминале, вы можете увидеть ~ / .bash_history
Что это означает
Вы должны создать файл для установки команд по умолчанию (обычно в ~ / .bashrc). Для этого используйте любой вид редактора, хотя это проще сделать в терминале:
source ~/.bashrc
Ctrl + x Ctrl + s
(чтобы сохранить файл)Ctrl + x Ctrl + c
(чтобы закрыть emacs)В следующий раз, когда вы выйдете и перезагрузите терминал, он должен загрузить все ваши настройки bash. Для хорошей меры обычно лучше разделить ваши команды на полезные имена файлов. Например, из ~ / .bashrc вы должны иметь
source ~/.bash_aliases
и поместить все свои команды псевдонимов в ~ / .bash_aliases.источник
То, что сработало для меня, это создать
.launchd.conf
переменные, которые мне нужны:Этот файл читается при запуске во время входа в систему. Вы можете добавить переменную «на лету» к запуску launchd, используя:
На самом деле,
.launchd.cond
просто содержит команды launchctl.Переменные, установленные таким образом, похоже, присутствуют в приложениях с графическим интерфейсом должным образом.
Если вы пытаетесь таким образом установить переменные LANG или LC_ и используете iTerm2, убедитесь, что вы отключили параметр «Автоматически устанавливать переменные локали» на вкладке «Терминал» используемого вами профиля. Кажется, это переопределяет переменные окружения launchd, и в моем случае я устанавливал битый LC_CTYPE, вызывая проблемы на удаленных серверах (которые получили переменную).
(Кажется, что Environment.plist все еще работает на моем Lion. Вы можете использовать панель настроек RCenvironment, чтобы сохранить файл, а не редактировать его вручную или требовать Xcode. По-прежнему работает на Lion, хотя его последнее обновление от Snow Leopard. эра. Делает это лично моим предпочтительным методом.)
источник
Настройте переменную среды PATH в Mac OS
Откройте программу «Терминал» (по умолчанию она находится в папке «Программы / Утилиты»). Запустите следующую команду
Это откроет файл в текстовом редакторе по умолчанию.
Для ANDROID SDK в качестве примера:
Вам необходимо добавить путь в каталог инструментов и инструментов платформы Android SDK. В моем примере я буду использовать «/ Development / android-sdk-macosx» в качестве каталога, в котором установлен SDK. Добавьте следующую строку:
Сохраните файл и выйдите из текстового редактора. Запустите ваш .bash_profile, чтобы обновить ваш PATH.
Теперь каждый раз, когда вы открываете программу Terminal, в ваш PATH будет включен Android SDK.
источник
Добавление переменных пути в OS X Lion
Это было довольно просто и сработало для меня в терминале:
Аналогичный ответ был здесь: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516
источник
cd
без аргументов илиcd ~/
.source .bash_profile
.echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profile
тогда, единственное, что я могу сделать,mysql -u root -p
это если я уже запущен с правами root. Тогда как я могу использоватьApplications/XAMPP/xamppfiles/bin/mysql -u root -p
где угодно. Я попробовал оба упомянутых подхода перезапуска: Yaw's и @ ephsmith's./usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/XAMPP/xamppfiles/bin
. Когда я не рут, я получаю/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$PATH
Переменная пользователя специфический (корень является пользователем).Открытый терминал:
Применить изменение к системе (не нужно перезагружать компьютер):
(Также работа с macOS Sierra 10.12.1)
источник
У меня была проблема с Eclipse (запущенным как GUI, а не из скрипта) на Maverics, что он не принимал пользовательский PATH. Я попробовал все методы, упомянутые выше, но безрезультатно. Наконец, я нашел самый простой рабочий ответ, основанный на подсказках отсюда :
Перейдите в папку /Applications/eclipse/Eclipse.app/Contents.
Отредактируйте файл Info.plist с помощью текстового редактора (или XCode), добавьте словарь LSEnvironment для переменной среды с полным путем . Обратите внимание, что он также включает / usr / bin и т.д:
Перезагрузите параметры для приложения с
Перезапустите Eclipse
источник
Позвольте мне проиллюстрировать вас из моего личного примера в очень излишней форме.
Иногда macOS или Linux автоматически устанавливают переменную окружения для вас, в отличие от Windows. Но это не всегда так. Итак, давайте проверим это. Строка сразу после echo $ JAVA_HOME будет пустой, если переменная окружения не установлена. Он должен быть пустым в вашем случае.
Теперь нам нужно проверить, есть ли у нас файл bash_profile. Вы видели, что в моем случае у нас уже есть bash_profile. Если нет, мы должны создать файл bash_profile.
Создайте файл bash_profile.
Проверьте еще раз, чтобы убедиться, что файл bash_profile находится там.
Теперь давайте откроем файл bash_profile. MacOS открывает его, используя программу TextEdit по умолчанию.
Это файл, в котором хранятся переменные среды. Если вы открыли новый файл bash_profile, он должен быть пустым. В моем случае он уже был настроен для языка программирования Python и распространения Anaconda. Теперь мне нужно добавить переменную окружения для Java, которая просто добавляет первую строку. ВЫ ДОЛЖНЫ НАПРАВИТЬ ВЕРБАТИМ. ТОЛЬКО первая строка. Сохраните и закройте TextEdit. Затем закройте терминал.
Откройте терминал снова. Давайте проверим, установлена ли переменная окружения.
источник
Я взял идиотский маршрут. Добавил их в конец / etc / profile
создал папку / etc / environment, создал в ней файл под названием «oracle» или «что угодно» и добавил в него все, что мне нужно, глобально.
/ etc $ cat /etc/environments.d/Oracle
источник
Более подробная информация, которая может быть полезна для кого-то:
Благодаря моим собственным исследованиям, я теперь знаю, как устанавливать переменные среды 7 из 8 различных способов. Я пытался донести envar до приложения, которое я разрабатываю под XCode. Я устанавливаю «трассирующие» envars, используя эти разные методы, чтобы сказать мне, какие из них попадают в сферу моего приложения. Ниже вы можете видеть, что редактирование «схемы» в Xcode для добавления аргументов работает так же, как и «putenv». Что не устанавливало его в этой области: ~ / .MACOS / environment.plist, специфичный для приложения plist, .profile и добавление фазы сборки для запуска пользовательского скрипта (я нашел другой способ в Xcode [как минимум] установить один, но забыл, что я назвал трассировщик и не могу найти его сейчас, может быть, на другой машине ....)
GPU_DUMP_DEVICE_KERNEL - 3 года
GPU_DUMP_TRK_ENVPLIST равен (null)
GPU_DUMP_TRK_APPPLIST равен (null)
GPU_DUMP_TRK_DOTPROFILE равно (null)
GPU_DUMP_TRK_RUNSCRIPT равно (null)
GPU_DUMP_TRK_SCHARGS равно 1
GPU_DUMP_TRK_PUTENV равно 1
... с другой стороны, если я зайду в Терминал и скажу "установить", кажется, что он получает только один из .profile (я бы подумал, что он также подберет environment.plist, и я конечно, однажды я увидел в Терминале второй трассирующий envar, так что с тех пор что-то пошло не так. Длинный день ....)
источник
Шаг 1: открыть
~/.bash_profile
Теперь откроется текстовый редактор:
Шаг 2: имя переменной должно быть прописным. в этом примере переменная
NODE_ENV
Шаг 3:
export NODE_ENV=development
Сохраните это и закройте.
Перезагрузите вашу систему.
Выполнено.
Чтобы проверить переменную env: откройте терминал и наберите
источник
Рекомендуется проверить оболочку терминала по умолчанию перед установкой любых переменных окружения с помощью следующих команд:
Если вашим терминалом по умолчанию является / bin / zsh (Z Shell), как в моем случае (лично я предпочитаю Z Shell), то вам следует установить эти переменные среды в файле ~ / .zshenv со следующим содержанием (В этом примере, установив переменную среды JAVA_HOME , но это же относится и к другим)
Точно так же, для любого другого типа терминала, не упомянутого выше, вы должны установить переменную окружения в соответствующем файле терминала.
источник