Я только недавно перешел на Mac из Ubuntu. Я был разочарован тем, что у Mac нет удобного sudo apt-get
в Ubuntu. Я слышал, что я должен использовать homebrew, но я не совсем уверен, что делает homebrew или macports?
Я только недавно перешел на Mac из Ubuntu. Я был разочарован тем, что у Mac нет удобного sudo apt-get
в Ubuntu. Я слышал, что я должен использовать homebrew, но я не совсем уверен, что делает homebrew или macports?
Ответы:
MacPorts это путь.
Как указал @ user475443, MacPorts имеет еще много других пакетов. С brew вы скоро попадете в ловушку, потому что нужной вам формулы не существует.
MacPorts является родным приложением: C + TCL. Вам не нужен Руби вообще. Для установки Ruby на Mac OS X вам могут понадобиться MacPorts, так что просто переходите на MacPorts, и вы будете счастливы.
MacPorts действительно стабилен, за 8 лет у меня никогда не было проблем с ним, и вся моя экосистема Unix ретранслировала его.
Если вы являетесь разработчиком PHP, вы можете установить последнюю версию Apache (Mac OS X использует 2.2), PHP и все необходимые вам расширения, а затем обновить все с помощью одной команды. Забудьте сделать то же самое с Homebrew.
Группы поддержки MacPorts.
foo@macpro:~/ port select --summary
Name Selected Options
==== ======== =======
db none db46 none
gcc none gcc42 llvm-gcc42 mp-gcc48 none
llvm none mp-llvm-3.3 none
mysql mysql56 mysql56 none
php php55 php55 php56 none
postgresql postgresql94 postgresql93 postgresql94 none
python none python24 python25-apple python26-apple python27 python27-apple none
Если у вас установлены как PHP55, так и PHP56 (со многими различными расширениями), вы можете переключаться между ними с помощью одной команды. Все относительные расширения являются частью группы, и они будут активированы в выбранной группе: php55 или php56. Я не уверен, что Homebrew имеет эту функцию.
Рубисты любят переписывать все на Ruby, потому что единственное, что им удобно, это сам Ruby.
Homebrew и macports решают одну и ту же проблему - это установка общих библиотек и утилит, не входящих в состав osx.
Обычно это библиотеки, относящиеся к разработке, и наиболее распространенное использование этих инструментов для разработчиков, работающих на osx.
Они оба нуждаются в установленных инструментах командной строки xcode (которые вы можете загрузить отдельно с https://developer.apple.com/ ), а для некоторых конкретных пакетов вам потребуется вся установленная среда xcode.
xcode можно установить из магазина приложений Mac, его можно бесплатно загрузить, но это занимает некоторое время, поскольку его размер составляет около 5 ГБ (если я правильно помню).
macports - это версия утилиты порта от BSD для OSX (поскольку OSX является производной от BSD, это был естественный выбор). Для тех, кто знаком с любым из дистрибутивов BSD, macports будет чувствовать себя как дома.
Одно главное отличие между домашним пивом и макпортом; и причина, по которой я предпочитаю homebrew, состоит в том, что он не будет перезаписывать вещи, которые должны быть установлены "в исходном" в osx. Это означает, что если имеется собственный пакет, homebrew уведомит вас, вместо того, чтобы перезаписать его и вызвать проблемы в дальнейшем. Он также устанавливает библиотеки в пространстве пользователя (таким образом, вам не нужно использовать «sudo» для установки вещей). Это также помогает при избавлении от библиотек, поскольку все находится в доступном для вас пути.
homebrew также пользуется более активным сообществом пользователей, и его пакеты (называемые формулами) обновляются довольно часто.
macports не перезаписывает нативные пакеты OSX - он предоставляет свою собственную версию - это главная причина, по которой я предпочитаю macports вместо home-brew, вам нужно быть уверенным в том, что вы используете, и изменения Apple в разное время для портов, и это было известно быть годами позади обновлений в некоторых проектах
Можете ли вы дать ссылку, показывающую, что macports переписывает нативные пакеты OS X? Насколько я могу судить, все установки MacPort происходит в
/opt/local
Возможно, мне следует уточнить - я нигде в своем ответе не сказал, что macports перезаписывает нативные пакеты OSX. Они оба устанавливают предметы отдельно.
Homebrew предупредит вас, когда вы должны установить вещи «изначально» (используя предпочтительный установщик библиотеки / инструмента) для лучшей совместимости. Это то, что я имел в виду. Он также будет использовать столько локальных библиотек, которые доступны в OS X. Из вики :
Нам очень не нравятся дурачки в Homebrew / homebrew
Тем не менее, мы любим дурачиться в кране!
Материал, который поставляется с OS X или является библиотекой, предоставляемой RubyGems, CPAN или PyPi, не должен дублироваться. Для этого есть веские причины:
- Дублирующиеся библиотеки регулярно ломают сборки
- Тонкие ошибки появляются с дублирующимися библиотеками и, в меньшей степени, с дублирующимися инструментами
- Мы хотим, чтобы вы старались, чтобы ваша формула работала с тем, что поставляется с OS X
При желании вы можете переписать версии утилит Macosx с помощью homebrew.
/opt/local
В настоящее время в Macports намного больше пакетов (~ 18,6 КБ), чем формул Homebrew (~ 3,1 КБ), благодаря своей зрелости. Доморощенный медленно догоняет, хотя.
Пакеты Macport, как правило, обслуживаются одним человеком.
Macports может хранить несколько версий пакетов, и вы можете включить или отключить их, чтобы проверить их. Иногда этот список может быть поврежден, и вам придется вручную редактировать его, чтобы привести все в порядок, хотя это не так уж сложно.
Оба менеджера пакетов попросят регулярно обновляться. Это может занять некоторое время.
Примечание: в вашей системе могут быть оба менеджера пакетов! Это не тот или другой. Brew может жаловаться, но Macports не будет.
Кроме того, если вы имеете дело с пакетами python или ruby, по возможности используйте виртуальную среду.
По умолчанию Homebrew устанавливает пакеты в ваш / usr / local. Команды Macport требуют sudo для установки и обновления (аналогично apt-get в Ubuntu).
Для более подробной информации:
Этот сайт предлагает использовать Hombrew: http://deephill.com/macports-vs-homebrew/
тогда как этот сайт перечисляет преимущества использования Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
Я также недавно перешел с Ubuntu, и мне нравится использовать homebrew (это просто и удобно!), Но если вы чувствуете привязанность к использованию sudo, Macports может быть лучшим способом!
/usr/local
в Homebrew. Apple выбрала /usr/local
«исполняемые файлы, библиотеки и т. Д., Не включенные в базовую операционную систему». Это означает, что возможно, что инструменты, установленные до использования Homebrew, могли быть созданы так /usr/local
, что их нельзя изменить без sudo
. Они не обсуждают это в вики.
/usr/local
без прав root. Права доступа по умолчанию для /usr
новой установки OS X - это владелец root, без прав на запись для всех остальных. Чтобы даже создать /usr/local
, Homebrew потребуется root-доступ. (Я не пытаюсь ничего защищать)
homebrew
может установить вещи без , sudo
потому что , когда она позиционировала себя, она используется sudo
, чтобы сделать разрешение на каталог неудачником , так что будет в состоянии сделать что - либо внутри , /usr/local
не вызывая пароль. Означает ли это, что «установка без пароля» неверна? Я так не думаю! Это по - прежнему верно , что homebrew
будет иметь возможность получить материал без пароля.