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,

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