Я нещодавно перейшов на Mac від Ubuntu. Я був розчарований, що mac не має зручного sudo apt-get
в Ubuntu. Я чув, що я повинен користуватися домашньою мовою, але я не зовсім впевнений, що робить доморошня чи макспорт?
Я нещодавно перейшов на Mac від Ubuntu. Я був розчарований, що mac не має зручного sudo apt-get
в Ubuntu. Я чув, що я повинен користуватися домашньою мовою, але я не зовсім впевнений, що робить доморошня чи макспорт?
Відповіді:
MacPorts - це шлях.
Як і @ user475443 вказував, MacPorts має ще багато інших пакетів. З квасом незабаром ви потрапите в пастку, оскільки потрібна формула не існує.
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. Я не впевнений, що домашня мова має цю особливість.
Рубісти люблять переписувати все в Ruby, тому що єдине, що їм зручно, - це сама Ruby.
Homebrew та macports вирішують одну і ту ж проблему - це встановлення загальних бібліотек та утиліт, які не входять в комплект із OSX.
Зазвичай це бібліотеки, що стосуються розробок, і найчастіше ці інструменти використовуються для розробників, що працюють на OSX.
Їм обом потрібні встановлені інструменти командного рядка xcode (які ви можете завантажити окремо з https://developer.apple.com/ ), а для деяких конкретних пакетів вам знадобиться весь встановлений IDE xcode.
xcode можна встановити з магазину додатків Mac, його безкоштовно завантажити, але це займає певний час, оскільки його близько 5 Гб (якщо я правильно пам'ятаю).
macports - це версія OSX для порту утиліти від BSD (оскільки osx походить від BSD, це був природний вибір). Для всіх, хто знайомий з будь-яким дистрибутивом BSD, макпорти будуть почувати себе як вдома.
Одна з основних різниць між домашньою мовою та макпортами; і я вважаю, що я віддаю перевагу домашній мові - це те, що він не буде перезаписати речі, які повинні бути встановлені "вродженими" в ОСX Це означає, що якщо доступний нативний пакет, homebrew сповістить вас замість того, щоб його перезаписати і спричинить проблеми внизу лінії. Він також встановлює бібліотеки в просторі користувача (таким чином, вам не потрібно використовувати "sudo" для установки речей). Це допомагає і при позбавленні від бібліотек, оскільки все знаходиться на доступному вам шляху.
homebrew також користується більш активною спільнотою користувачів, і його пакети (так звані формули) оновлюються досить часто.
macports не перезаписує вбудовані пакети OSX - він постачає свою власну версію. Це головна причина, що я віддаю перевагу макпортам над домашнім варивом, ви повинні бути впевнені в тому, що ви використовуєте, і Apple змінити в різні часи до портів, і було відомо бути роками поза оновленнями в деяких проектах
Чи можете ви дати довідку, що показує, що макпорти замінюють натільні пакети ОС X? Наскільки я можу сказати, все встановлення макпортів відбувається в
/opt/local
Можливо, варто уточнити - я ніде не сказав у своїй відповіді, що макпорти перезаписують рідні пакети OSX. Вони обидва встановлюють елементи окремо.
Homebrew попередить вас, коли вам слід інсталювати речі "споконвічно" (використовуючи бажану програму встановлення бібліотеки / інструмента) для кращої сумісності. Це я мав на увазі. Він також використовуватиме стільки ж локальних бібліотек, які доступні в OS X. З вікі :
Нам дійсно не подобаються дупи в Homebrew / homebrew
Однак ми любимо дупи в крані!
Речі, що поставляються з OS X або бібліотекою, яку надають RubyGems, CPAN або PyPi, не повинні бути одушевлені. Для цього є вагомі причини:
- Дублікати бібліотек регулярно розбивають збірки
- Тонкі помилки виникають із копіями бібліотек та меншою мірою дублюючими інструментами
- Ми хочемо, щоб ви постаралися більше, щоб ваша формула працювала з тим, з чим поставляється OS X
Ви можете додатково замінити версії утилітів, що надаються в macosx, з домашньою мовою.
/opt/local
В даний час у Macports є набагато більше пакетів (~ 18,6 К), ніж у формул Homebrew (~ 3,1 К), завдяки його зрілості. Хоча домашня мова повільно наздоганяє.
Пакети Macport, як правило, підтримується однією людиною.
Макпорти можуть тримати декілька версій пакетів, а ви можете ввімкнути або вимкнути їх для перевірки речей. Іноді цей список може бути пошкоджений, і вам доведеться його вручну редагувати, щоб повернути речі в порядок, хоча це не надто складно.
Обидва менеджери пакунків просять регулярно оновлюватись. Це може зайняти деякий час.
Примітка: у вашій системі ви можете мати обох менеджерів пакетів! Це не те чи інше. 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, і мені подобається користуватися домашньою мовою (це просто і просто у використанні!), Але якщо ви відчуваєте прихильність до використання судо, Macports може бути кращим способом!
/usr/local
до Homebrew. Apple залишила /usr/local
"виконавчі файли, бібліотеки тощо, не включені в основну операційну систему". Це означає, що можливо, інструменти, встановлені до використання Homebrew, можливо, створили /usr/local
такі, що без них неможливо змінити sudo
. Вони не обговорюють цього на вікі.
/usr/local
без кореневих дозволів. Дозвіл за замовчуванням для /usr
нової інсталяції OS X є власником root, без дозволу на запис для інших. Для того, щоб навіть створити /usr/local
, Homebrew знадобиться кореневий доступ. (Я нічого не намагаюся захищати)
homebrew
може встановлювати речі без того, sudo
що коли він налаштовується, він використовував sudo
дозвіл на те, що каталог втрачається, щоб він міг робити все, що завгодно, /usr/local
не запускаючи пароль. Це означає, що частина "встановити без пароля" невірна? Я не думаю, що так! Це по - , як і раніше вірно , що homebrew
буде мати можливість отримати матеріал без пароля.