Формулы для домашнего приготовления только для бочек

Сегодня я установил 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 создает символические ссылки в каталоге для ВСЕХ установленных формул, независимо от того, относятся ли они только к кегам или нет.

Следует отметить два важных момента:

  1. По умолчанию префикс по умолчанию (символическая ссылка) находится в, но не префикс НЕ в PATH.
  2. По умолчанию префикс по умолчанию (символическая ссылка) /usr/local/binв целом указывает на последнюю версию формулы. Поэтому, если вы хотите использовать конкретную версию (часто в формате только для кеги) какой-либо формулы, вы можете временно добавить свой PATH с формулой только для кеги bin каталог, например, export PATH="$(brew --prefix)/opt/FormulaName/bin:${PATH}".

Настройка /usr/local/optупомянутое выше может разрешить конфликт исполняемых файлов. В общем, у вас может быть формула или программа в вашей системе с множеством разных версий, таких как последняя версия и устаревшая версия, собственная версия Apple и локально установленная версия и т. Д. Эти ситуации могут вызвать конфликт при выполнении или компиляции некоторых других программ, которые в некоторой степени связаны с текущим использованием формулы или программы.

Другие вопросы по тегам