6

Я слышал, что некоторые люди любят использовать Fink и Macports, так как некоторые пакеты существуют в одном, а не в другом.

Недавно у меня были проблемы со сборкой и запуском таких пакетов, как GRASS и Digikam с MacPorts, и я начал искать альтернативы.

Просто интересно: будут ли сосуществовать и работать вместе pkgsrc и Homebrew?

Я все еще испытываю работу с менеджерами пакетов и хотел бы изучить все возможности, прежде чем остановиться на одном или двух.

Спасибо!

2 ответа2

7

Homebrew вызовет проблемы при сборке программного обеспечения из исходного кода, если оно установлено в /usr/local . Это значение по умолчанию, что является плохим выбором, так как этот путь находится в пути поиска по умолчанию для компиляторов и других инструментов. Поэтому сборки из другого программного обеспечения для упаковки могут получить неправильную зависимость, используя версию Homebrew вместо своей собственной.

Несколько лет назад, в самом начале проекта, даже MacPorts использовал /usr/local . Но оказалось, что не сотрудничать с другими инструментами, как это задокументировано в их FAQ . К сожалению, разработчики Homebrew не хотели слышать о предыдущем опыте и игнорировали такие факты ...

Как правило, лучше всего придерживаться одного инструмента, чтобы избежать всех проблем. MacPorts делает все возможное, чтобы исправлять любые путевые пути, например, к /sw который используется Fink. Так что обычно это работает, но установка чего-либо в /usr/local определенно вызовет проблемы.

Я не знаю pkgsrc достаточно, чтобы сказать, действительно ли он затронут таким же образом, но я думаю, что эта проблема относится и к нему.

Похоже, в MacPorts нет открытых ошибок для дигикам или травы . Вы должны сообщить им о своих проблемах непосредственно с новыми билетами, чтобы получить помощь.

1

Это правда, смешивание менеджеров пакетов может вызвать головную боль. Но я использую и Homebrew, и MacPorts, и это работает, потому что у меня есть небольшое количество пакетов в Homebrew. Единственное, что у меня есть, это программы для конечных пользователей, которые (пока) не доступны в MacPorts. Например: gist, dashing и sqldiff. Если вы сводите вещи к минимуму в одном или другом диспетчере пакетов, головные боли становятся менее вероятными.

Правда, единственное обоснование для этого - когда вам нужен пакет, который недоступен в данном менеджере пакетов. Лично я обнаружил, что MacPorts имеет подавляющее большинство программ, которые мне нужны, и он гораздо более зрелый, чем Homebrew, множеством способов. В него также легче вносить вклад, с менее строгими правилами и хорошим языком сценариев (Tcl, который на самом деле так же хорош, как Ruby). Есть много других преимуществ MacPorts по сравнению с Homebrew, но я остановлюсь здесь и закончу свою касательную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .