Fråga:
Vad är fördelar och nackdelar med MacPorts, Fink och Homebrew?
JoaoHornburg
2011-12-01 22:46:47 UTC
view on stackexchange narkive permalink

Jag migrerar bara från Ubuntu Linux till Mac, och allt är nytt och jag lär mig om mycket igen.

På Linux hade jag den utmärkta apt-get att hantera programvarupaket . Jag googlade efter ett alternativ på Mac och hittade om MacPorts, Fink och Homebrew.

Jag kommer att använda den här datorn främst för att utveckla Ruby on Rails-applikationer.

Så, vad är skillnaderna mellan dem? Vilka är upp- och nackdelarna? Vilken är bäst underhållen och har fler paket?

Jag redigerade din titel så att den matchar din verkliga fråga. På de flesta Stack Exchange-webbplatser är frågan om "det bästa" misslyckad.
Varför behöver du någon av dessa kommer inte att vara tillräckligt med rubinstenar?
för mer om varför dubbletter inte alltid är dåliga: http://apple.stackexchange.com/questions/11461/is-there-any-alternative-to-macports Det finns också några fler alternativ där
Aldrig använt det själv, men kanske en jämförelse med [pkgin] (http://pkgin.net) skulle också vara användbar.
Fem svar:
kLy
2011-12-30 00:19:10 UTC
view on stackexchange narkive permalink

Definitivt Homebrew. Jag började med Fink, bytte sedan till MacPorts (lyckligare), sedan Homebrew (mycket, mycket lyckligare). Det här är mina skäl för att använda var och en (en pro-lista om du vill):

Fink

  • Apt-baserad - känn dig som hemma om du kommer från en Debian-baserad miljö
  • Binära paket - paket finns som binära så inga långa sammanställningstider. Praktiskt taget har jag funnit att de förkompilerade binärfilerna alltid var föråldrade och jag var tvungen att sammanställa saker för mitt system ändå
  • Anständigt urval av paket

MacPorts

  • Största urval av paket / portar
  • Generellt sett mycket uppdaterade
  • Trevligt variantsystem som låter dig anpassa byggnaden
  • Enkla och intuitiva portfiler, låter dig också lägga till dina egna
  • stöder många versioner av OSX och macos som går tillbaka till Tiger inklusive PowerPC-versioner se annat svar

Homebrew

  • Mycket uppdaterad
  • Maximal utnyttjande av det som kommer med OS X. Till skillnad från Fink eller MacPorts gör det inte kräver att du bygger / installerar rubin och bibliotek från grunden bara för att installera ett litet Ruby-baserat verktyg.
  • Installerar i / usr / local så behöver du inte ändra PATH var som helst
  • Allt som ägs av användaren, så inga paket behöver någonsin potentiellt riskabelt root-åtkomst för att installera
  • Varje instal led-paketet är rent sandlådat i sin egen källare så att du inte har avvikande filer över hela ditt system, bara symlänkar från bin, man, etc.
  • Löjigt enkelt att skapa din egna formelfiler (dvs. paketbeskrivare)
  • Eftersom du har en rubinbakgrund är ett annat plus att allt är skrivet i rubin och alla formler är enkla rubinskript

pkgin

  • Mycket uppdaterad
  • Snabbare installationer på grund av förkompilerade binärer
  • Allt installerat i / opt / pkg /
  • bakom pkgsrc gemenskap och Joyent
  • Känd för att fungera på NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix

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

http://pkgin.net/

Observera att för hembryggning kan du argumentera för att "Installations into / usr / local" och "leveraging of what comes with OS X" är problem - det är de två främsta anledningarna till att jag använder ett annat förpackningssystem
Med tanke på att / usr / local / bin inte finns i Mac OS X-standardvägen, måste du absolut ändra din PATH - du behöver bara göra det en gång, eftersom bryggning sätter in den där platsen länkar till alla nya soptunnor det installerar (förutom "endast keg", men det är buller här).
@Mark Vilket förpackningssystem föredrar du?
@Mark Jag ställer upp Davids fråga när jag nyligen övergav Homebrew efter att ha sett vad den gjorde med min `/ usr / local` katalog.Homebrew spelar inte riktigt bra med andra applikationer som vill skriva där.
@jedd.ahyoung Jag föredrar macports som sätter in / opt / local (fink sätter in / sw)
Tyvärr verkar homebrew mer och mer avvisa vissa användningsfall och API: er så att underhållarna uttrycker ett [uppenbart bortse från] (https://mikemcquaid.com/2018/03/19/open-source-maintainers-owe-you-ingenting /) för användare.Macports ser ut som ett bättre alternativ eftersom den här trenden verkar genomtränga hembryggeriet på ett oroande sätt.Homebrew handlade på en gång [allt om att hjälpa användaren,] (https://www.quora.com/Whats-the-logic-behind-Google-rejecting-Max-Howell-the-author-of-Homebrew-för-att-inte-kunna-invertera-ett-binärt-träd / svar / Max-Howell) men har långsamt gått bort från det.
Jag måste hålla med @GDP2.Jag är en ny Mac-användare från Linux.Utvecklare i [brew] (https://github.com/Homebrew/brew) har mycket dålig attityd.Kan du tro att det bara finns 13 frågor i brew's github när jag lägger upp den här kommentaren?De vill inte lyssna på användare.De vill inte ha några problem.De ignorerar bara alla problem du öppnade och stängde dem omedelbart.Jag ser aldrig en sådan attityd i något av github-projekt.Som ny användare har jag använt brygg i några månader och idag funderar jag på att byta till en annan och hittade den här frågan.Erfarenheten av att använda brygga är den värsta jag haft i mitt liv hittills
Jag har använt Homebrew i flera år med ökande antal fel till den punkten att jag inte orkade det längre.Bytt till MacPorts - inga fel, bra community att hjälpa till, ingen ånger, hejdå hembryggeri!
YaOzI
2013-04-21 14:11:42 UTC
view on stackexchange narkive permalink

MacPorts

Det är mer oberoende av Mac OS X, det betyder att MacPorts bara kommer att ignorera många av systembiblioteken och programvaror som redan finns i Mac OS X och dra i stället sin egen / a>, vilket kan vara långsammare när verktyget du installerar kräver en uppsättning stora bibliotek och programvaror.

Men den här typen av val är säkrare eftersom paketen du installerade är mindre påverkas av Apples systemuppdaterings- / uppgraderingsförfarande.


Homebrew

Det är mer beroende av befintliga Mac OS X-installerade paket, så detta kommer att påskynda installationen av paket och minimera överflödiga bibliotek.

Men risken för att installerade paket kan brytas på grund av Apples systemuppdatering / uppgradering.

Så det här är de två olika typerna av avvägning.

Dessutom tar Homebrew över / usr / local som standard, med vilket vissa människor inte gillar detta eftersom det på något sätt strider mot unix-traditionen och kan orsaka s rån om du redan har installerat något där (MySQL, etc.)


Förutom dessa skillnader, med tanke på de paket som dessa två kan erbjuda, kan du kontrollera med dessa två kommandon om du redan har MacPorts / Homebrew installerat, som visar de paket de för närvarande tillhandahåller:

  portlista | wc -lbrew-sökning | wc -l  

Och du kommer att upptäcka att MacPorts har många fler paket än Homebrew.

(19399 v.s 3583 den 13 maj 2016)

Som en anmärkning om det olika antalet paket: Homebrew inkluderar bestämt inte paket för programmeringsspråk som har ett eget förpackningssystem (rubygems / pip / cpan ...) eller för programvara för vilken det finns ett mer lämpligt OS X-installationsprogram (MacTeX) . Dubbletter och äldre versioner finns inte i standardrepet, utan ingår i alternativa * tryck * repor. Jämför detta med macports, som t.ex. innehåller en IPython-port för alla inkluderade Python-versioner. Det är typ av en annan filosofi som naturligtvis ökar antalet paket i macports.
Utmärkt länk! http://terrychay.com/article/macports-vs-homebrew.shtml Tack!
@YaOz, Du kan säkert byta hembryggeri för att använda något annat än `/ usr / local`?
@Pacerier Jag tror att någon annanstans än `/ usr / local /` är "stöds inte" eller "avskräckt".
Hal
2014-09-18 16:11:48 UTC
view on stackexchange narkive permalink

Bara för att lägga till några av mina egna tankar som verkar vara riktiga i slutet av 2014 åtminstone.

Homebrew, som för ett par år sedan, har definitivt överhanden när det gäller mindshare. Du hittar många bloggar med människor som talar om hur mycket lyckligare de är med Homebrew - vanligtvis på grund av hela "MacPorts-dragningar i hela världen" mot "Homebrew använder det du redan har".

IMO, MacPorts är dock ett annat odjur nu än för några år sedan. När jag först bytte till OS X & använde MacPorts var MP-filosofin verkligen frustrerande eftersom nästan allt byggdes från källan. En ny installation var särskilt smärtsam / långsam. Men det senaste året eller så, uteslutande baserat på mina egna intryck, verkar det som om 90% av MP-paketen är binära & så installationen är faktiskt riktigt snabb nu. Från det jag samlar går Homebrew också i den här riktningen med "Flaskor" men jag får intrycket att de flesta saker du installerar via HB vid denna tidpunkt kommer att sammanställas från källan.

Så, bara för att ger en utjämnande åsikt, MacPorts verkar faktiskt vara det "snabbare" alternativet idag. Men de flesta folks åsikter från MP verkar baseras på erfarenheter från cirka 2011-12 eller så & tar verkligen inte hänsyn till detta. Ta detta med ett saltkorn men eftersom jag inte är en vanlig HB-användare (och det är ganska smärtsamt att använda båda sida vid sida).

Jag tror att HB har fördelar som betyder att det förmodligen kommer att "vinna kriget "i det långa loppet

  • HB är alltså Ruby medan MacPorts och dess paketformler är skrivna i TCL vilket är ... inte precis ett populärt skriptspråk. Som sagt är det ganska jävla enkelt att skapa din egen portfil.
  • HB är baserat runt GitHub & verkar alltså mycket mer välkomnande för nya bidragsgivare medan MacPorts är värd för sitt eget SVN-arkiv någonstans tror jag - vilket i princip återspeglar de olika åldrarna för båda projekten antar jag.
  • Som nämnts är det allmänna samförståndet att MacPorts har ersatts av HB &, rätt eller fel, som drar fler människor mot det.

Annars täckte YaOZl & kLy huvudskillnaden i termer av sudo, beroenden etc ganska bra. Personligen tycker jag att MacPorts ibland leder till en del huvudvärk när det gäller andra program som inte förväntar sig att något ska vara i / opt / local , saker installeras med rootbehörigheter etc. & det finns några saker som i allmänhet är bäst inte installerad med MacPorts (t.ex. du kan installera Rails via MacPorts men du skulle vara galen att inte installera den via Rubys normala Gem management). Annat än det, även om jag är ett stort fan av MacPorts-filosofin att bygga sin egen lilla värld & inte förlitar mig på något färdigförpackat OS X-bibliotek - när det fungerar, och det gör det mest, är allt döden enkelt. Vilket är vad du verkligen vill ha av en Package Manager. Och som jag nämnde är det vid denna tidpunkt ganska jävla snabbt att ställa in det mesta.

Hoppas att något av det var användbart.

"Som nämnts är det allmänna samförståndet att MacPorts har ersatts av HB &, rätt eller fel, som drar fler människor mot det."... det här känns som ett mycket ytligt uttalande ... att vara populärt mot att tillhandahålla kvalitet är inte detsamma och betyder inte på något sätt att det andra "ersätts" av det första.
MacPorts använder nu Github.Se https://guide.macports.org/#project.github: "MacPorts-projektet använder det distribuerade Git-versionskontrollsystemet för att hantera koden för hela projektet. Våra huvudförvar finns på GitHub. Vi upprätthåller offentliga arkiv för nästan all vår projektkod och dokumentation, inklusive ett GitHub-arkiv för själva MacPorts-systemet, för MacPorts-portarna och till och med för den guide du läser just nu. "
Wowfunhappy
2020-08-31 23:06:30 UTC
view on stackexchange narkive permalink

Något som andra svar (hittills) inte verkar ha nämnt är att MacPorts har utmärkt stöd för äldre versioner av macOS.Homebrew stöder endast operativsystem som för närvarande stöds av Apple, vilket vanligtvis betyder de tre senaste utgåvorna.Från och med augusti 2020 är till exempel endast Catalina, Mojave och High Sierra kompatibla med Homebrew.

Däremot kan MacPorts installeras på Tiger (!), och projektet upprätthåller speciella korrigeringsfiler för att hålla programvaran fungerande där det är möjligt.De upprätthåller också ett "Legacy Support" -bibliotek som backar symboler från nya versioner av macOS till äldre;att länka mot detta bibliotek medan du kompilerar kan göra att alla typer av ny programvara plötsligt fungerar på äldre system!

Så om du kör en gammal version av macOS eller om du tror att du kan behöva stanna kvar på ett aktuellt operativsystem efter Apples utgångsdatum, är det definitivt en anledning att gå med MacPorts.

Nemo
2015-10-28 15:25:24 UTC
view on stackexchange narkive permalink

Brew var helt smidig för mig att använda, så jag kan inte berätta om dess nackdelar. Några nackdelar med MacPorts:

Det finns flera mycket populära frågor om de två första punkterna.

Det här var min erfarenhet av att installera ImageMagick den 10.6;bryggning var väldigt lätt men inkluderade inte JP2-delegaten.http://imagemagick.org/script/binary-releases.php
brygga och macports behöver bara Xcode-kommandoradsverktyg så detsamma här.
@Mark Jag är inte säker på vad du menar, men bryggning fungerade perfekt för mig utan Xcode.
Du behöver en kompilator för brygga * och * MacPorts, som kan installeras via Xcode Command Line Tools.Du behöver inte Xcode * -applikationen *.
Det är inte vad http://www.macports.org/install.php säger.Om installationsinstruktionerna är felaktiga, gör det inte en enkel installation.
Problemet är att Macports vet att det fungerar med full Xcode och det är vad build-servrarna använder - i praktiken verkar det fungera med bara kommandoradsverktygen men ingen är beredd att säga att det fungerar i alla fall så bättre att vara säker och installeraXcode.app
Om det finns en lösning för att installera MacPorts utan ett Apple-utvecklarkonto är det definitivt värt att länka, men det är IMHO utanför ämnet för den här frågan.Mitt svar behandlar standardförfarandet.
Jag glömde hur ful det är att synkronisera den där saken bakom en brandvägg ... yikes!


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...