Eu doar migrez de la Ubuntu Linux la Mac și totul este nou și reînvăț o mulțime de lucruri.
n Linux am avut excelentul apt-get pentru a gestiona pachete software. Am căutat o alternativă pe Mac și am aflat despre MacPorts, Fink și Homebrew.
Voi folosi acest computer în primul rând pentru a dezvolta aplicații Ruby on Rails.
Deci, care sunt diferențele dintre lor? Care sunt avantajele și dezavantajele? Care dintre acestea este cel mai bine întreținut și are mai multe pachete?
Comentarii
- Am editat titlul dvs. pentru a se potrivi cu întrebarea dvs. reală. Pe majoritatea site-urilor Stack Exchange, întrebarea care cere ” cei mai buni ” sunt priviți rău.
- De ce aveți nevoie de dintre aceste ‘ nu au fost suficiente rubiile ‘ pentru a fi suficiente?
- pentru mai multe informații despre motivele pentru care duplicatele nu sunt ‘ nu întotdeauna rău: apple.stackexchange.com/questions/11461/… de asemenea, mai există câteva alternative acolo
- Nu l-am folosit niciodată, dar poate ar fi utilă și o comparație cu pkgin .
Răspuns
Cu siguranță Homebrew. Am început cu Fink, apoi am trecut la MacPorts (mai fericit), apoi la Homebrew (mult, mult mai fericit). Acestea sunt motivele mele pentru utilizarea fiecăruia (o listă profesională, dacă doriți):
Fink
- Bazat pe Apt – simțiți-vă ca acasă dacă proveniți dintr-o bază Debian mediu
- Pachete binare – pachetele sunt disponibile ca binare, astfel încât să nu se compileze. Practic, deși am constatat că binele precompilate erau întotdeauna învechite și a trebuit să compilez lucruri pentru sistemul meu oricum
MacPorts
- Spre deosebire de homebrew nu depinde de biblioteca MacOS care s-ar putea schimba în viitor.
- Instalați totul în / opt / local
- Sistemul de variante Nice care vă permite să personalizați construcția
- Fișiere de port ușoare și intuitive, vă permite, de asemenea, să adăugați propriile dvs.
- acceptă mai multe versiuni de OSX și macro-uri care revin la Tiger, inclusiv versiunile PowerPC vezi alt răspuns
Homebrew
- Pârghie maximă a ceea ce vine cu OS X. Spre deosebire de Fink sau MacPorts, nu necesită să construiți / instalați ruby și biblioteci de la zero doar pentru a instala un mic instrument bazat pe Ruby.
- Se instalează în
/usr/local
- Instalați fără acces root
- Fiecare pachet instalat este îngropat în propria pivniță, astfel încât să nu aveți fișiere rătăcite în tot sistemul dvs., doar link-uri simbolice din bin, man etc.
- Are ghiduri și automatizări pentru a vă crea propriile fișiere de formulă (adică. descriptori de pachete)
- Scris în rubin și toate formulele sunt scripturi rubin concise
- Instalări mai rapide din cauza binelor precompilate
pkgin
- Instalări mai rapide datorită binelor precompilate
- Totul instalat în / opt / pkg /
- susținut de comunitatea pkgsrc și Joyent
- Cunoscut pentru a funcționa pe NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix
https://pkgsrc.joyent.com/install-on-osx/
Comentarii
- Comentariile nu sunt pentru discuții extinse; această conversație a fost mutată în chat . Dacă blocarea trebuie eliberată, vă rugăm să ridicați această problemă la Ask Different Meta sau cu un steag.
Răspuns
MacPorts
Este mai independent de Mac OS X, aceasta înseamnă că MacPorts va ignora doar multe dintre bibliotecile și software-urile de sistem care deja disponibil în Mac OS X și trageți unul propriu în loc , care ar putea fi mai lent atunci când utilitarul pe care îl instalați necesită un set de biblioteci și software mari.
Dar acest tip de alegere este mai sigur, deoarece pachetele pe care le-ați instalat sunt mai puțin influențate de actualizarea / actualizarea sistemului Apple procedure.
Homebrew
Depinde mai mult de pachetele existente instalate de Mac OS X, deci acest lucru va accelera instalarea pachetelor și va minimiza bibliotecile redundante.
Dar riscul de instalare a pachetelor ar putea fi întrerupt n datorită actualizării / actualizării sistemului Apple.
Deci, acestea sunt cele două tipuri diferite de compromisuri.
De asemenea, Homebrew preia / usr / local în mod implicit, cu care unii oameni nu le place acest lucru pentru că cumva intră în conflict cu tradiția unix și poate cauza probleme dacă ați instalat deja ceva acolo (MySQL etc.))
În afară de aceste diferențe, având în vedere pachetele pe care aceste două le pot oferi, puteți verifica cu aceste două comenzi dacă aveți deja instalate MacPorts / Homebrew, care vă arată pachetele pe care le-au furnizat în prezent:
port list | wc -l brew search | wc -l
Și veți afla că MacPorts are mult mai multe pachete decât Homebrew.
(19399 vs 3583 pe 13 mai 2016)
Comentarii
- Ca o remarcă asupra numărului diferit de pachete: Homebrew nu include categoric pachete pentru limbaje de programare care au propriul lor sistem de ambalare (rubygems / pip / cpan …) sau pentru software pentru care este disponibil un program de instalare OS X mai potrivit (MacTeX). De asemenea, duplicatele și versiunile mai vechi nu se află în repo implicit, dar includ în repo tap alternativ. Comparați acest lucru cu macporturile, care, de exemplu, conține un port IPython pentru toate versiunile Python incluse. Este un fel de filozofie diferită care crește în mod firesc numărul de pachete în macporturi.
- Legătură excelentă! terrychay.com/article/macports-vs-homebrew.shtml Vă mulțumim!
- @YaOz, Sigur ați putea schimba homebrew-ul pentru a folosi ceva altceva decât
/usr/local
? - @Pacerier Cred că oriunde altul decât
/usr/local/
este „neacceptat” sau „descurajat” .
Răspuns
Doar pentru a adăuga câteva din propriile mele gânduri care par adevărate, la sfârșitul anului 2014 cel puțin .
Homebrew, de acum câțiva ani, are cu siguranță avantajul în ceea ce privește mentalitatea. Veți găsi o mulțime de bloguri cu oameni care vorbește despre cât de fericiți sunt cu Homebrew – de obicei din cauza întregului „MacPorts trage în întreaga lume” vs „Homebrew folosește ceea ce aveți deja”.
Cu toate acestea, IMO, MacPorts este acum o altă fiară decât acum câțiva ani. Când am trecut la OS X & foloseam MacPorts, filosofia MP a fost într-adevăr frustrantă deoarece aproape totul a fost construit din sursă. O nouă instalare a fost deosebit de dureroasă / lentă. Cu toate acestea, în ultimul an sau cam așa, bazat doar pe propriile impresii, se pare că 90% din pachetele MP sunt binare & deci instalarea este de fapt foarte rapidă acum. Din ceea ce am înțeles, Homebrew se mișcă și în această direcție cu „Sticle”, dar am impresia că majoritatea lucrurilor pe care le instalați prin HB în acest moment vor fi compilate din sursă.
Deci, chiar dacă ar oferi o opinie compensatorie, MacPorts pare să fie de fapt opțiune în aceste zile. Cu toate acestea, părerile majorității popoarelor despre MP par să se bazeze pe experiențe din 2011-12 sau aproximativ & nu țin cont de acest lucru. Luați acest lucru cu un bob de sare, deși nu sunt un utilizator obișnuit de HB (și este destul de dureros să-l folosiți amândoi unul lângă altul).
Cred că HB are avantaje care înseamnă că probabil va „câștiga” războiul „pe termen lung, deși
- HB este tot Ruby, în timp ce MacPorts și formulele sale de pachete sunt scrise în TCL, care nu este …. un limbaj de scriptare popular. destul de al naibii de simplu să îți creezi propriul portofoliu.
- HB se bazează pe GitHub &, astfel, pare mult mai primitor pentru noii colaboratori, în timp ce MacPorts găzduiește propriul său depozit SVN undeva Cred – care reflectă practic diferitele vârste ale ambelor proiecte, presupun.
- După cum sa menționat, consensul general este că MacPorts a fost înlocuit de HB &, pe bună dreptate sau în mod greșit, asta atrage mai mulți oameni spre el.
În caz contrar, YaOZl & k a acoperit destul de bine diferența principală în ceea ce privește sudo, dependențe etc. Eu consider că MacPort-urile duc uneori la unele dureri de cap în ceea ce privește alte programe care nu așteaptă să fie nimic în /opt/local
, lucrurile fiind instalate cu permisiuni root etc. & există unele lucruri care, în general, cel mai bine nu sunt instalate cu MacPorts (de ex poți instala Rails prin MacPorts, dar ai fi nebun să nu-l instalezi prin gestionarea normală a Gemului Ruby). În afară de asta, deși sunt „un mare fan al filozofiei MacPorts de a-și construi propria lume mică &, nu mizând pe o bibliotecă OS X preambalată – atunci când funcționează, și mai ales, totul este foarte simplu. Ceea ce doriți cu adevărat de la un manager de pachete. Și, așa cum am menționat, în acest moment este al naibii de rapid să stabilească cele mai multe lucruri.
Sper că unele dintre acestea au fost utile.
Comentarii
- ” După cum sa menționat, consensul general este că MacPorts a fost înlocuit de HB &, pe bună dreptate sau pe nedrept, care atrage mai mulți oameni spre ea. ” … acest lucru se simte ca o afirmație foarte superficială …a fi popular față de a oferi calitate nu sunt la fel și în niciun caz nu înseamnă că al doilea este ” înlocuit ” de primul.
- MacPorts utilizează acum Github. Consultați guide.macports.org/#project.github : ” Proiectul MacPorts utilizează sistemul de control al versiunilor distribuite Git pentru a gestiona codul pentru întregul proiect. Depozitele noastre principale sunt găzduite pe GitHub. Menținem depozite publice pentru aproape tot codul și documentația proiectului nostru, inclusiv un depozit GitHub pentru sistemul MacPorts în sine, pentru porturile MacPorts și chiar pentru ghidul pe care îl citiți chiar acum. ”
Răspuns
Ceva despre care alte răspunsuri (până acum) nu par să fi menționat este că MacPorts are suport excelent pentru versiunile vechi de macOS. Homebrew acceptă doar sistemele de operare care sunt acceptate în prezent de Apple, ceea ce înseamnă de obicei ultimele trei versiuni. De exemplu, începând din august 2020, numai Catalina, Mojave și High Sierra sunt compatibile cu Homebrew.
În schimb, MacPorts pot fi instalate pe Tiger (!), Iar proiectul menține patch-uri speciale pentru a păstra software-ul lucrând ori de câte ori este posibil. De asemenea, mențin o bibliotecă ” Legacy Support ” care backportează simboluri din versiunile noi de macOS la cele mai vechi; conectarea la această bibliotecă în timp ce compilați poate face ca tot felul de software-uri noi să funcționeze brusc pe sisteme mai vechi!
Deci, dacă rulați o versiune veche de macOS sau dacă credeți că va trebui să rămâneți sistemul de operare actual trecut de data de expirare a Apple, acesta este cu siguranță un motiv pentru a merge cu MacPorts.
Răspuns
Brew a fost complet ușor de utilizat, așa că nu pot să spun despre minusurile sale. Unele dezavantaje ale MacPorts:
- trebuie să instalați Xcode de pe site-ul dezvoltatorului Apple , prin urmare trebuie să aveți un cont de dezvoltator Apple (care necesită acum card de credit) și descărcați aproape 3,5 GB de materiale;
- dacă portul 873 (rsync) este blocat de firewall-ul dvs., va trebui să configurați manual protocolul HTTPS ;
- serverul HTTP (S) de pe care sunt descărcate pachetele este (adesea) extrem de lent (sub 20 KiB / s ieri; testat de la un cuplu Gigabit foarte fiabil) conexiuni în diferite țări) și pot eșua cu eroare Operațiunea este prea lentă. Mai puțin de 1024 octeți / sec au fost transferați în ultimele 60 de secunde , obligându-vă să refaceți totul de la zero.
Există câteva întrebări foarte populare despre primele două puncte.
Comentarii
- Aceasta a fost experiența mea instalarea ImageMagick pe 10.6; prepararea a fost foarte ușoară, dar nu ‘ nu include delegatul JP2. imagemagick.org/script/binary-releases.php
- brew și macports necesită doar instrumente pentru linia de comandă Xcode, deci la fel aici.
- @Mark Nu ‘ nu sunt sigur la ce te referi, dar prepararea a funcționat perfect pentru mine fără Xcode.
- Tu ‘ voi avea nevoie de un dispozitiv de completare pentru brew și MacPorts, care pot fi instalate prin intermediul instrumentelor pentru linia de comandă Xcode. Nu veți avea nevoie de aplicația Xcode aplicația .
- Am uitat cât de urât este să sincronizați acel lucru când se află în spatele unui firewall … plăcere!