Právě migruji z Ubuntu Linux na Mac a všechno je nové a znovu se učím spoustu věcí.

V Linuxu jsem měl vynikající apt-get pro správu softwarových balíčků. Vyhledal jsem alternativu pro Mac a zjistil jsem o MacPorts, Fink a Homebrew.

Tento počítač použiji primárně k vývoji aplikací Ruby on Rails.

Takže jaké jsou rozdíly mezi jim? Jaké jsou výhody a nevýhody? Který z nich je nejlépe udržovaný a má více balíčků?

Komentáře

  • Upravil jsem váš název tak, aby odpovídal vaší skutečné otázce. Na většině webů se Stack Exchange se ptáte “ na ty nejlepší „, které jsou odsuzovány.
  • Proč potřebujete nějaké z těchto ‚ t ruby ‚ drahokamů stačí?
  • další informace o tom, proč duplikáty nejsou ‚ vždy špatné: apple.stackexchange.com/questions/11461/… existuje také několik dalších alternativ
  • Nikdy jsem to sám nepoužil, ale možná by bylo užitečné i srovnání s pkgin .

Odpověď

Rozhodně Homebrew. Začal jsem s Finkem, poté jsem přešel na MacPorts (šťastnější), pak na Homebrew (mnohem, mnohem šťastnější). To jsou mé důvody pro použití každého (pokud chcete, seznam profesionálů):

Fink

  • Apt-based – cítit se jako doma, pokud pocházíte z Debianu prostředí
  • Binární balíčky – balíčky jsou k dispozici jako binární soubory, takže žádné dlouhé časy kompilace. Prakticky jsem ale zjistil, že předkompilované binární soubory byly vždy zastaralé a stejně jsem musel kompilovat věci pro svůj systém

MacPorts

  • Na rozdíl od homebrew do nezávisí na knihovně MacOS, která se v budoucnu může změnit.
  • Nainstalujte vše do / opt / local
  • Nice systému variant který vám umožní přizpůsobit sestavení
  • Snadné a intuitivní soubory portů, také vám umožní přidat vlastní
  • podporuje mnoho verzí OSX a macos vracejících se k Tigerovi včetně verzí PowerPC viz jiná odpověď

Homebrew

  • maximální využití toho, co přichází s OS X. na rozdíl Fink nebo MacPorts, nevyžaduje to, abyste stavěli / instalovali ruby a knihovny od nuly, jen abyste nainstalovali nějaký malý nástroj založený na Ruby.
  • Nainstaluje se do /usr/local
  • Instalovat bez přístupu root
  • Každý nainstalovaný balíček je čistě izolován ve vlastním sklepě, takže nemusíte ukládejte zbloudilé soubory po celém vašem systému, pouze symbolické odkazy od bin, mana atd.
  • Má průvodce a automatizaci k vytváření vlastních souborů vzorců (tj. deskriptory balíků)
  • Psané v ruby a všechny vzorce jsou stručné ruby skripty
  • Rychlejší instalace díky předkompilovaným binárním souborům

pkgin

  • Rychlejší instalace díky předkompilovaným binárním souborům
  • Vše nainstalované v / opt / pkg /
  • zálohováno komunitou pkgsrc a Joyent
  • Je známo, že pracuje na NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix

https://pkgsrc.joyent.com/install-on-osx/

http://pkgin.net/

Komentáře

Answer

MacPorts

Je nezávislejší na systému Mac OS X, to znamená, že MacPorts bude ignorovat mnoho systémových knihoven a softwarů, které již k dispozici v systému Mac OS X a místo toho vytáhněte svůj vlastní , což by mohlo být pomalejší, když nástroj, který instalujete, vyžaduje nějakou sadu velkých knihoven a softwaru.

Ale je tento výběr bezpečnější, protože nainstalované balíčky jsou méně ovlivněny aktualizací / upgradem systému společnosti Apple. postup.


Homebrew

Je to více závislé na existujících nainstalovaných balících Mac OS X, takže to urychlí instalaci balíků a minimalizuje nadbytečné knihovny.

Ale riziko, že jsou nainstalované balíčky, může být porušeno n z důvodu aktualizace / upgradu systému společnosti Apple.

Jedná se tedy o dva různé druhy kompromisu.

Také Homebrew převezme / usr / local ve výchozím nastavení, s nimiž se někteří lidé nelíbí , protože to nějak je v rozporu s unixovou tradicí a může způsobit problémy, pokud jste tam již něco nainstalovali (MySQL atd.)


Kromě těchto rozdílů, s ohledem na balíčky, které tyto dva mohou nabídnout, můžete pomocí těchto dvou příkazů zkontrolovat, zda již máte nainstalovaný MacPorts / Homebrew, který vám ukáže balíčky, které aktuálně poskytly:

port list | wc -l brew search | wc -l 

A zjistíte, že MacPorts má mnohem více balíčků než Homebrew.

(19399 proti 3583 13. května 2016)

Komentáře

  • Jako poznámku k rozdílnému počtu balíčků: Homebrew rozhodně nezahrnuje balíčky pro programovací jazyky, které mají vlastní balicí systém (rubygems / pip / cpan…) nebo pro software, pro který je k dispozici pravděpodobně vhodnější instalační program OS X (MacTeX). Duplikáty a starší verze také nejsou ve výchozím repo, ale zahrnují alternativní repozitáře tap . Porovnejte to s macporty, které např. Obsahují port IPython pro všechny zahrnuté verze Pythonu. Jde o trochu jinou filozofii, která přirozeně zvyšuje počet balíčků v macportu.
  • Vynikající odkaz! terrychay.com/article/macports-vs-homebrew.shtml Děkuji!
  • @YaOz, určitě byste mohli změnit homebrew na něco jinak než /usr/local?
  • @Pacerier věřím, že kdekoli jinde než /usr/local/ není „nepodporováno“ nebo „odrazováno“ .

Odpověď

Stačí jen přidat některé z mých vlastních myšlenek, které se zdají být pravdivé – alespoň kolem konce roku 2014 .

Homebrew má před pár lety rozhodující převahu v oblasti sdílení mysli. Najdete spoustu blogů, kde lidé mluví o tom, jak šťastnější jsou s Homebrew – obvykle kvůli celé věci „MacPorts přitahuje celý svět“ a „Homebrew využívá to, co již máte“.

Avšak IMO, MacPorts je nyní jiné zvíře, než tomu bylo před pár lety. Když jsem poprvé přešel na OS X & používal MacPorts, filozofie MP byla opravdu frustrující protože téměř všechno bylo vytvořeno ze zdroje. Nová instalace byla obzvláště bolestivá / pomalá. Avšak za poslední rok nebo tak, čistě na základě mých vlastních dojmů, se zdá, že 90% MP balíčků jsou binární soubory & takže instalace je nyní opravdu rychlá. Z toho, co sbírám, se Homebrew také pohybuje tímto směrem pomocí „Bottles“, ale mám dojem, že většina věcí, které si v tuto chvíli nainstalujete přes HB, bude kompilována ze zdroje.

Takže, jen abychom nabídli vyrovnávací stanovisko, zdá se, že MacPorts je ve skutečnosti „rychlejší“ v dnešní době. Názory většiny lidí na MP se však zdají být založeny na zkušenostech přibližně z let 2011–12 nebo & ve skutečnosti to nebere v úvahu. Ber to s rezervou, protože „nejsem běžný uživatel HB (a je velmi bolestivé používat obě vedle sebe).

Myslím si, že HB má výhody, které znamenají, že pravděpodobně vyhraje“ the war „in the long run though

  • HB je vše Ruby, zatímco MacPorts a jeho balíčkové vzorce jsou psány v TCL, což je …. není zrovna populární skriptovací jazyk. je docela zatraceně jednoduché vytvořit si vlastní portfile.
  • HB je založen na GitHub &, takže se zdá být mnohem přívětivější pro nové přispěvatele, zatímco MacPorts někde hostí vlastní SVN úložiště Myslím – což v zásadě odráží různý věk obou projektů, předpokládám.
  • Jak již bylo zmíněno, obecná shoda je, že MacPorts byl nahrazen HB &, správně nebo špatně, to k tomu přitahuje více lidí.

Jinak YaOZl & kLy docela dobře pokryl hlavní rozdíl, pokud jde o sudo, závislosti atd. Osobně Já zjistíte, že MacPorts někdy vede k určitým bolestem hlavy, pokud jde o jiné programy, které neočekávají, že by něco bylo v /opt/local, ve věcech instalovaných s oprávněním root atd. & existují některé věci, které se obecně nejlépe neinstalují s MacPorty (např můžete nainstalovat Rails přes MacPorts, ale byl byste blázen, abyste jej nenainstalovali přes normální správu Gem od Ruby). Kromě toho, i když „jsem velkým fanouškem filozofie MacPorts budování vlastního malého světa & nespoléhám se na nějakou předem zabalenou knihovnu OS X – když to funguje a většinou ano, všechno je mrtvý jednoduchý. Což je to, co od správce balíčků opravdu chcete. A jak jsem již zmínil, v tuto chvíli je zatraceně rychlé nastavit většinu věcí.

Doufám, že něco z toho bylo užitečné.

Komentáře

  • “ Obecná shoda je v tom, že MacPorts byl nahrazen HB & správně či nesprávně, které k tomu přitahují více lidí. “ … připadá mi to jako velmi povrchní prohlášení …být populární vs poskytovat kvalitu nejsou stejné a v žádném případě to neznamená, že druhá je “ nahrazena “ první.
  • MacPorts nyní používá Github. Viz guide.macports.org/#project.github : “ Projekt MacPorts používá systém řízení distribuované verze Git ke správě kódu pro celý projekt. Naše hlavní úložiště jsou hostována na GitHubu. Udržujeme veřejná úložiště pro téměř veškerý náš projektový kód a dokumentaci, včetně úložiště GitHub pro samotný systém MacPorts, pro porty MacPorts a dokonce i pro průvodce, který právě čtete. “

Odpověď

Něco, co ostatní odpovědi (zatím) nezjistily, je, že MacPorts má vynikající podporu pro starší verze systému macOS. Homebrew podporuje pouze operační systémy, které jsou v současné době podporovány společností Apple, což obvykle znamená poslední tři vydání. Například od srpna 2020 jsou s Homebrew kompatibilní pouze Catalina, Mojave a High Sierra.

Naproti tomu MacPorts lze instalovat na Tiger (!) A projekt udržuje speciální patche pro uchování softwaru pracovat, kdykoli je to možné. Rovněž udržují knihovnu “ Legacy Support „, která backportuje symboly z nových verzí macOS do starších; propojení proti této knihovně při kompilaci může způsobit, že na starších systémech najednou bude fungovat nejrůznější nový software!

Pokud tedy používáte starou verzi systému macOS nebo si myslíte, že možná budete muset zůstat na současný operační systém po datu vypršení platnosti společnosti Apple, to je rozhodně důvod jít s MacPorts.

Odpověď

Brew byl úplně hladké pro použití, takže nejsem schopen říct o jeho nevýhodách. Některé nevýhody MacPortů:

Existuje několik velmi populárních otázek ohledně prvních dvou bodů.

Komentáře

  • To byla moje zkušenost instalace ImageMagick na 10.6; vaření bylo velmi snadné, ale ne ‚ nezahrnuje delegáta JP2. imagemagick.org/script/binary-releases.php
  • brew a macports vyžadují pouze nástroje příkazového řádku Xcode, takže zde stejné.
  • @ Mark I ‚ si nejsem jistý, co tím myslíš, ale brew pro mě bez Xcode fungoval perfektně.
  • Ty ‚ Budu potřebovat doplněk pro brew a MacPorts, který lze nainstalovat pomocí nástrojů příkazového řádku Xcode. Nebudete potřebovat Xcode aplikaci .
  • Zapomněl jsem, jak ošklivé je synchronizovat tu věc, když jste za firewallem … fajn!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *