Homebrew: `brew использует --installed gcc` не дает никакого результата
Я хотел бы получить список установленных пакетов, которые зависят от gcc (устанавливается с помощью homebrew). Когда я пытаюсь:
brew uses --installed gcc
это не дает результата. И если я проверю, например, зависимости г с brew deps r
, это возвращает gcc
(среди прочих). Итак, я предполагаю brew uses
должен хотя бы вернуть значение r
,
Кто-нибудь сталкивался с подобной проблемой и мог бы пролить свет на это?
1 ответ
Это не авторитетный ответ, но мне кажется, что это потому, что r
зависит от :fortran
Это своего рода виртуальная зависимость, которая может быть решена различными способами. brew deps
отвечает на вопрос, что бы мне нужно было установить перед установкой этой формулы. И в вашем случае он решает, что установка gcc
это способ удовлетворить :fortran
требование. Но обратное, по-видимому, не поддерживается: он не знает, просто глядя на gcc
что это может быть использовано для разрешения виртуальной зависимости :fortran
, Это несколько правдоподобно, если рассмотреть способ реализации виртуальных зависимостей в Homebrew. Обычно он просто просматривает файловую систему, чтобы увидеть, доступен ли требуемый двоичный файл (в том числе поставляемый за пределами Homebrew), но он не устанавливает ссылку зависимости формулы, когда находит кандидата.
(На самом деле, этот случай может быть еще более сложным. Если вы посмотрите на brew deps r --tree
, вы увидите, что зависимость на самом деле :gcc
, что является еще одним уровнем виртуальной зависимости.)
Хотя это и не имеет прямого отношения к вашему вопросу, но также deps
по умолчанию рекурсивно, но uses
не является. Таким образом, чтобы получить симметричное изображение, вам нужно использовать deps -1
или же uses --recursive
,