Чтобы узнать, куда Homebrew установил зависимость в macOS, запросите у Homebrew префикс пакета, а затем выведите список файлов его текущей установки. Замените openssl@3 в приведенных ниже командах на нужное имя формулы. Homebrew хранит версии формул в своем каталоге Cellar и может создавать символические ссылки на файлы в общий префикс, поэтому место установки пакета и путь к запускаемой команде могут различаться. Справочное руководство brew(1) Homebrew
Определение пути установки формулы
В Терминале выполните:
brew --prefix openssl@3
Для установленной формулы это выведет расположение, где находится или куда привязана эта формула. Если вы хотите, чтобы Homebrew возвращал ошибку, когда формула не установлена, используйте параметр --installed:
brew --prefix --installed openssl@3
Результат обычно использует постоянный путь opt Homebrew, например /opt/homebrew/opt/openssl@3 во многих конфигурациях Apple silicon или /usr/local/opt/openssl@3 на Intel. Это распространенные значения по умолчанию, а не гарантия: на Mac может быть задан пользовательский префикс или иметься несколько установок Homebrew. Проверяйте вывод на своем собственном компьютере, а не полагайтесь на пути с другого Mac. Homebrew указывает /opt/homebrew в качестве префикса по умолчанию для Apple silicon и /usr/local в качестве префикса по умолчанию для Intel. FAQ Homebrew
Просмотр версионированных файлов и фактического исполняемого файла
Чтобы вывести список путей внутри текущего кега (keg) формулы — каталога для ее установленной версии, выполните:
brew list --formula openssl@3
Homebrew определяет команду brew list с аргументом-формулой как сводку путей внутри текущего кега этой формулы. Чтобы увидеть сам версионированный путь в Cellar, объедините префикс формулы с readlink:
readlink "$(brew --prefix openssl@3)"
Вывод обычно указывает на версионированный каталог, такой как ../Cellar/openssl@3/3.x.y. Точная версия зависит от того, что именно установлено. Homebrew описывает установку формул как кеги (kegs) в Cellar, при этом некоторые файлы имеют символические ссылки в общий префикс Homebrew. Formula Cookbook
Если вопрос заключается именно в том, «Какой исполняемый файл запустит моя командная оболочка?», проверьте разрешение команды отдельно:
command -v openssl
Это покажет первую подходящую команду, найденную через переменную PATH вашей текущей оболочки. Она может отличаться от префикса формулы, если другая установка находится раньше в PATH, или если формула не предоставляет команду с таким именем. Чтобы проверить исполняемый файл напрямую, используйте путь, выведенный командой command -v, вместе с ls -l, чтобы проверить, является ли он символической ссылкой. Пакет может содержать библиотеки, заголовочные файлы и вспомогательные компоненты, а не только исполняемые файлы; проверка одной команды не покажет все файлы пакета.
Если имя формулы неясно или отсутствует
Выведите список установленных формул с версиями, а затем определите нужное имя:
brew list --formula --versions
Homebrew также разделяет формулы, которые считаются запрошенными пользователем, и те, которые были установлены как зависимости. Эти команды помогут сузить список:
brew list --formula --installed-on-request
brew list --formula --no-installed-on-request
Если brew --prefix --installed NAME сообщает, что формула не установлена, проверьте ее точное имя в brew list --formula --versions. Зависимость могла быть удалена во время очистки, может относиться к другой установке Homebrew или могла быть установлена с помощью другого пакетного менеджера. Если доступно несколько копий brew, команда command -v brew покажет, какую из них использует ваша текущая оболочка; выполняйте запросы к пакетам через эту же команду brew.
Если пакет был установлен с помощью установщика macOS
Для программного обеспечения, установленного приложением «Установщик» Apple из .pkg, команды Homebrew неприменимы. Утилита pkgutil в macOS позволяет отобразить список идентификаторов пакетов и файлы, зарегистрированные для квитанции об установке (receipt):
pkgutil --pkgs
pkgutil --files com.example.package
Замените com.example.package фактическим идентификатором из вывода первой команды. Данные --files берутся из базы данных квитанций приложения «Установщик»; это не универсальный каталог установок всех пакетных менеджеров. Идентификаторы пакетов могут не совпадать с видимым названием приложения. Руководство Apple по pkgutil
Что показывают и чего не показывают эти пути
Для формулы Homebrew команда brew --prefix NAME является быстрым способом узнать ее расположение, управляемое Homebrew, а brew list NAME показывает пути внутри ее текущего кега. Используйте command -v, когда нужно узнать, какой исполняемый файл выбирает ваша командная оболочка. Они отвечают на разные вопросы: файлы пакета могут существовать, даже если его исполняемый файл отсутствует в PATH, а исполняемый файл, найденный в PATH, может относиться к чему-то другому, помимо проверяемой формулы.
Если вам нужен полный перечень файлов пакета, установленного другим способом, используйте квитанции или инструменты вывода списков соответствующего пакетного менеджера. Не делайте выводов о месте установки только на основе имени пакета.
Источники
brew(1) – The Package Manager for Everywhere — Homebrew
Formula Cookbook — Homebrew
Frequently Asked Questions — Homebrew
man pkgutil(1) — manpagez