MacPorts vs. Fink vs. Homebrew [duplicato]


39

Questa domanda ha già una risposta qui:

Ho sempre usato MacPorts per installare e gestire i miei compilatori GCC e altri programmi. Ora ho sentito parlare di Fink e Homebrew. Sembra che queste due utility stiano guadagnando terreno nella comunità Mac, ma non capisco la differenza tra loro.

Qual è la differenza principale tra MacPorts, Fink e Homebrew? C'è qualche differenza in termini di qualità o prestazioni?


3
C'è anche Rudix .
LHF

4
Fa questa domanda più vecchio soddisfare le vostre esigenze?
bmike

Risposte:


30

Fink è stato intorno almeno dal 2001. Fink e MacPorts sono gestori di pacchetti che vogliono essere "ortogonale" per il sistema, che è, installano la loro versione di python, perl, biblioteche, compilatori, ecc in propri alberi (/ sw per Fink, / opt / local per MacPorts). La ragione di ciò è che non hanno alcun controllo su ciò che Apple fa con il suo software e occasionalmente rompono le cose quando Apple aggiorna le proprie cose.

Da quanto ho capito, Homebrew vuole essere più "integrato" con il sistema, usa le librerie fornite da Apple e installa i suoi contenuti in /usr/local/bine altre cartelle standard. Immagino che ciò significhi che la scelta del software è più limitata con Homebrew, non riesco a immaginare che si possa installare KDE con esso, ma non l'ho provato.

Un punto per Fink vs MacPorts: qualche anno fa, il progetto Fink forniva pacchetti binari; cioè è possibile scaricare e installare i pacchetti senza compilarli da soli. Il gestore dei pacchetti ha ancora questa capacità, solo che non ci sono binari disponibili da molto tempo. Non so se nel frattempo sia cambiato.

Quindi in breve: senza roba binaria, Fink e MacPorts sono molto simili. Dovrebbero avere più pacchetti disponibili rispetto a Homebrew, mentre Homebrew dovrebbe occupare meno spazio su disco per i motivi indicati in precedenza. Per quanto riguarda la qualità: non ho mai installato Homebrew e tra Fink e MacPorts di solito preferisco quello che non sto attualmente utilizzando.

Quindi, se sei soddisfatto di MacPorts, resta con esso.

PS Il motivo per cui non ho mai provato Homebrew è che uso alcuni pacchetti precompilati. Questi di solito si installano anche in / usr / local / bin e simili, che piange solo per problemi.


Pensavo che dovessi sbagliarti su KDE, ma sicuramente è vero. Una volta aveva pacchetti per esso, ma a quanto pare c'è qualcosa nel modo in cui KDE è costruito che è incompatibile con la gerarchia di Homebrew. Spero che un giorno venga risolto.
echristopherson,

1
@echristopherson Quindi ha avuto KDE una volta? Una sorpresa per me Ma KDE sembra essere abbastanza fragile, una volta l'ho installato con Fink e al prossimo aggiornamento l'intera installazione è stata incasinata; quindi ti aspetteresti che sia ancora più fragile con Homebrew. Ma se un giorno lo faranno bene, riprenderò tutto ciò che ho detto.
Percival Ulisse il

4
L'installazione di Homebrew in / usr / local è la stessa ragione per cui non la uso neanche. Attenendosi alla tradizionale filosofia unix, solo io dovrei mettere cose in / usr / local .. Un gestore di pacchetti dovrebbe gestire qualche altro prefisso.
Jason,

Personalmente uso MacPorts, ma per ultimo ho controllato (che un po 'di tempo fa) Fink aveva una collezione molto più ampia di pacchetti disponibili.
HairOfTheDog,

1
@Jason È vero anche per un computer a utente singolo? Ho appena installato Homebrew e spero solo che non me ne pentirò. Non sono tuttavia molto chiari su come Apple gestisce root e gli utenti con privilegi di amministratore. Sono l'unico utente sul mio sistema.
Haziz,

8

Direi che le differenze principali sono:
Provvidenza, risultato e metodo di distribuzione.

Il dettaglio più importante sarà per te per verificare se il sistema scelto contiene pacchetti per il software desiderato. I conteggi dei pacchetti sono approssimativamente: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc.

  • Macport , ex porte Darwin sembra essere un sistema di porte in stile BSD come pkgsrc che ottiene il sorgente, lo patch, lo costruisce e lo installa. Se è molto simile a pkgsrc, lo farà usando gli script di shell. Si basava sugli strumenti forniti da Xcode, ma questo ha iniziato a causare problemi, quindi ora può anche avviare bootstrap gcc. Inoltre ci sono alcuni pacchetti binari là fuori, ma potresti non trovare sempre la versione più recente per il tuo sistema. Veniva da Darwin, il BSD open source di Apple basato sul kernel OS X che cessò la distribuzione. Installa i pacchetti ai /opt/localquali probabilmente non verranno toccati da altri pacchetti di installazione o aggiornamenti di sistema.
  • Fink , ri: i fringuelli sono oggetto dello studio di Charles Darwin, è un sistema di pacchetti basato su Debian Package Manager, il che significa che presenta l'uso dpkge apt-getil vantaggio principale è che puoi trovare in modo affidabile pacchetti binari .. supponendo che tu abbia un pacchetto a monte repository che contiene file binari per l'attuale versione del sistema operativo. È anche uscito dalla base utenti di Darwin, ma probabilmente più popolare tra coloro che provenivano da Debian Linux [per mac o PPC] alla ricerca di un supporto hardware un po 'più stabile ... finché è durato. Installa i pacchetti /swper motivi di non sovrascrittura o sovrascrittura di ciò che altri installatori potrebbero installare. Anche qualcosa su percorsi di ricerca del compilatore e il default PATHche contiene /usr/local/bingià.
  • L'homebrew è una specie di sistema portuale concepito, ma scritto in ruby. Non proviene da un mondo di sistema operativo autonomo ed è stato progettato per gli utenti di Mac OS X (gli altri sono completamente utilizzati e testati dallo stesso). A partire dalla metà del 2014 cerca di costruire praticamente tutti i pacchetti (li chiamano formula) anche se alcuni sono disponibili in forma binaria chiamati bottiglie, e puoi creare un deposito di bottiglie da condividere nel tuo gruppo sociale se sei propenso a semi -standardizzare te e le toolchain del tuo amico (idem per altri sistemi). Tra i lati positivi, si costruisce utilizzando tutte le librerie quante probabilmente hai già provenuto da Apple. Penso che non sia necessario Xcode perché funzioni nella maggior parte dei casi, ma "lo supporta e lo consiglia". Puoi installare ogni elemento nel suo prefisso,/usr/localPenso che sia stato avviato ed è più recente degli altri. Personalmente ho scoperto di averlo usato di più perché raramente ho bisogno di pacchetti interdipendenti e non sono chiaro su come Mac homebrew lo supporti. Homebrew mira a costringerti a utilizzare gestori di pacchetti più appropriati per software che proviene da un gestore strettamente accoppiato, come cpan, gemme e simili.
  • pkgsrc sarebbe disponibile per Mac OS X, ha pacchetti binari e proviene da NetBSD che lo mantiene e, a sua volta, lo basa sul sistema portuale di FreeBSD. NetBSD era così concentrato sulla portabilità attraverso le architetture che probabilmente era il miglior sistema portuale candidato per iniziare a supportare anche altre piattaforme, che possiede. È simile nella mia descrizione a Macport, ma non l'ho usato (tranne su NetBSD) e penso che si installi in /ma costruisca e mantenga i pacchetti in /pkg. Probabilmente ci sono molti pacchetti (come 12k) e circa il 20% potrebbe non essere compilato, oppure l'ultima versione del sorgente potrebbe non essere patchata con l'ultima patch mantenuta. Ecco perché i pacchetti binari sono la mia preferenza con questo tipo di sistemi.

Ho anche usato perlbrew, che è una specie di homebrew per perl, applicazioni integrate in perl e alcune dipendenze. È principalmente un buon modo per mantenere più versioni di perl e nega convenientemente la necessità di altri sistemi di pacchetti più generali (per il suo scopo). Ma ovviamente questo ha anche cpan e cpanminus .

Potresti trovare gestori simili per il tuo mini-ambiente (come vundle per vim o gem per ruby, npm per node.js, pypm o pip per python, go's built-in go install... ecc?)


I conteggi dei pacchetti sono fuorvianti perché Homebrew intenzionalmente non include alcune classi di pacchetti - leggi di più su apple.stackexchange.com/questions/32724/…
Dan Dascalescu

5

Fink e MacPorts sono concorrenti diretti in quanto installano un sistema ortogonale. Fink ha perso molto terreno su MacPorts diversi anni fa. Non sono del tutto sicuro del perché adesso, ma MacPorts ha gestito quasi tutto meglio.

Abbiamo meno motivi per un'installazione ortogonale ora che Mac OS X è diventato pantaloni meno folli. Brew è stato creato per integrarsi meglio con Mac OS X, rendendolo più leggero e meno ortogonale, e anche perché Rubyist riscrive tutto.

In pratica, MacPorts è un po 'più complicato, ma MacPorts funziona quasi sempre, mentre Brew è più semplice ma ha più probabilità di incappare in un muro di mattoni.

Ponetevi queste domande:

  • Usi molti strumenti ecosistemici Linux?
  • Hai bisogno di più versioni?
  • Sperimenti molto con nuovi strumenti?
  • Usi strumenti / librerie di matematica / scienze o altri strumenti insoliti?

Qualsiasi risposta affermativa suggerisce che dovresti scegliere MacPorts. Brew è meno costoso se si installano relativamente pochi e pacchetti comuni, ma Brew non gestirà anche le complessità. Brew inquina /usr/localche potresti desiderare anche per installazioni manuali. In realtà, ci sono argomenti più dettagliati per MacPorts ma probabilmente non si applicano se hai risposto no.

Al contrario, se hai risposto sì, ma la tua macchina principale esegue Linux e il tuo Mac è solo un giocattolo con un software Linux minimo, in realtà potresti fare di meglio con Brew.


2

Ma come nota a margine, nulla di Apple OS X potrebbe installarsi in / usr / local / bin. Usano / usr / lib, / usr / bin dietro le quinte e i framework vengono impacchettati in / Library / Frameworks mentre roba che installi tu stesso tramite il normale Unix ./configure, make, make install userà / usr / local / bin etc e utilità come MacPorts useranno / opt / e possibilmente pacchetti di framework per il tuo ~ / Library / Frameworks / personale.

La mia raccomandazione è di rimanere con MacPorts se è quello a cui sei abituato. Fondamentalmente la differenza principale è che MacPorts utilizza un sistema che assomiglia maggiormente alla vera implementazione dell'albero delle porte Unix / BSD con le porte di FreeBSD, mentre Fink utilizza le applicazioni portate dagli archivi Debian di Linux e usa lo stesso sistema di gestione dei pacchetti di Linux Debian.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.