Формулы для домашнего приготовления только для бочек
Сегодня я установил curl
формула через homebrew
, но после установки (и повторного поиска оболочки) я заметил, что:
% which curl
/usr/bin/curl
на самом деле, выход brew install curl
заявил, что это формула только для бочонка и curl
уже присутствовал в OS X, он не связывал его с префиксом Homebrew, так как это могло вызвать неопределенные проблемы.
Затем он продолжает утверждать, что
Как правило, нет никаких последствий этого для вас
Я бы хотел знать:
- Какие именно проблемы?
- Какова цель установки формул только для кег через Homebrew? Как не может быть никаких последствий, если недавно установленный инструмент не находится в
PATH
?
2 ответа
- Проблемы: если доморощенное приложение помещено в путь перед версией по умолчанию OS X той же самой, действительно может случиться что угодно. Наиболее распространенные проблемы вызваны различиями в наборе параметров командной строки, доступных в двух версиях, или различиями в значении параметров. Для curl последствия могут быть не такими плохими, но для других приложений вы можете, в худшем случае, сломать ОС.
- Только для бочонков: теперь у вас есть две версии локонов! По умолчанию OS X и доморощенный. Если вы хотите использовать функции, которые используются не по умолчанию, а в доморощенном пиве, вы можете сделать это, явно вызвав скручивание доморощенного кофе. Точный путь зависит от того, как вы настроили домашний напиток. Поскольку недавно установленная версия не находится в пути, вряд ли она вызовет проблему, если она не вызывается явно.
Я хочу дополнить вторую проблему (связанную с механизмом только кег), которую задает @asymmetric.
Префикс HomeBrew -
/usr/local
, а HomeBrew сохраняет все установленные кеги в каталоге по умолчанию, например
/usr/local/Cellar
. В общем,HomeBrew может создать символическую ссылку для установленной формулы (формула, не относящаяся только к кегам), и соответствующая символическая ссылка сохраняется в. Эта процедура создания символической ссылки выполняется автоматически, когда HomeBrew устанавливает формулу. Здесь путь будет называться префиксом по умолчанию (символическая ссылка).
С другой стороны, согласно FAQ по HomeBrew, у нас есть следующие рекомендации:
Формула только для бочонка устанавливается только в Погреб и не привязана к префиксу по умолчанию. Это означает, что большинство инструментов его не найдут ''.
Но в то же время HomeBrew создает символические ссылки в каталоге для ВСЕХ установленных формул, независимо от того, относятся ли они только к кегам или нет.
Следует отметить два важных момента:
- По умолчанию префикс по умолчанию (символическая ссылка) находится в, но не префикс НЕ в
PATH
. - По умолчанию префикс по умолчанию (символическая ссылка)
/usr/local/bin
в целом указывает на последнюю версию формулы. Поэтому, если вы хотите использовать конкретную версию (часто в формате только для кеги) какой-либо формулы, вы можете временно добавить свой PATH с формулой только для кегиbin
каталог, например,export PATH="$(brew --prefix)/opt/FormulaName/bin:${PATH}"
.
Настройка
/usr/local/opt
упомянутое выше может разрешить конфликт исполняемых файлов. В общем, у вас может быть формула или программа в вашей системе с множеством разных версий, таких как последняя версия и устаревшая версия, собственная версия Apple и локально установленная версия и т. Д. Эти ситуации могут вызвать конфликт при выполнении или компиляции некоторых других программ, которые в некоторой степени связаны с текущим использованием формулы или программы.