MacPorts vs. Fink vs. Homebrew [duplicado]

39

Siempre usé MacPorts para instalar y mantener mis compiladores GCC y otros programas. Ahora he oído hablar de Fink y Homebrew. Parece que estas dos utilidades están ganando terreno en la comunidad Mac, pero no entiendo la diferencia entre ellas.

¿Cuál es la principal diferencia entre MacPorts, Fink y Homebrew? ¿Hay alguna diferencia en la calidad o el rendimiento?

    
pregunta 20.09.2012 - 20:41

4 respuestas

30

Fink ha existido desde al menos 2001. Fink y MacPorts son gestores de paquetes que desean ser "ortogonales" al sistema, es decir, instalan su propia versión de python , perl , bibliotecas, compiladores, etc. en árboles propios (/ sw para Fink, / opt / local para MacPorts). La razón de esto es que no tienen control sobre lo que Apple hace con su software, y ocasionalmente rompe cosas cuando Apple actualiza sus propias cosas.

Según tengo entendido, Homebrew quiere estar más "integrado" con el sistema, utiliza las bibliotecas que Apple proporciona e instala sus archivos en /usr/local/bin y otras carpetas estándar. Supongo que eso significa que la elección del software es más limitada con Homebrew, no puedo imaginar que se pueda instalar KDE con él, pero no lo he intentado.

Un punto para Fink vs. MacPorts: hace unos años, el proyecto Fink proporcionó paquetes binarios; es decir, puedes descargar e instalar los paquetes sin compilarlos tú mismo. Su administrador de paquetes aún tiene esa capacidad, solo que no ha habido binarios disponibles durante mucho tiempo. No sé si eso ha cambiado mientras tanto.

En resumen: sin el material binario, Fink y MacPorts son muy similares. Deberían tener más paquetes disponibles que Homebrew, mientras que Homebrew debería ocupar menos espacio en el disco por las razones que mencioné anteriormente. Respecto a la calidad: nunca he instalado Homebrew, y entre Fink y MacPorts, por lo general prefiero el que no estoy usando actualmente.

Entonces, si está satisfecho con MacPorts, simplemente quédese con él.

P.S. La razón por la que nunca probé Homebrew es que uso algunos paquetes precompilados. Por lo general, estos también se instalan en / usr / local / bin y similares, lo que simplemente pide problemas.

    
respondido por el Percival Ulysses 20.09.2012 - 21:12
7

Yo diría que las principales diferencias son:
Providencia, resultado y método de distribución.

El detalle más importante será que usted verifique si el sistema que seleccionó contiene paquetes para el software que desea. La cantidad de paquetes es aproximadamente: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc.

  • Macports , anteriormente los puertos de Darwin parecen ser un sistema de puertos de estilo BSD como pkgsrc que obtiene la fuente, la parcha, la construye y la instala. Si es muy parecido a pkgsrc, lo hará usando scripts de shell. Solía confiar en las herramientas proporcionadas por Xcode, pero eso comenzó causando problemas, por lo que ahora también puede arrancar gcc. Además, hay algunos paquetes binarios por ahí, pero es posible que no encuentre la última versión para su sistema en todo momento. Provenía de Darwin, el BSD de código abierto de Apple basado en el kernel OS X que dejó de distribuirse. Instala paquetes en /opt/local que probablemente no se verán afectados por otros paquetes de instalación o actualizaciones del sistema.
  • Fink , donde los pinzones son el tema del estudio de Charles Darwin, es un sistema de paquetes basado en Debian Package Manager, que significa que incluye el uso de dpkg y apt-get , la principal ventaja es que puede encontrar paquetes binarios de manera confiable ... asumiendo que tiene un repositorio de paquetes ascendente que contiene archivos binarios para su versión actual de SO. También salió de la base de usuarios de Darwin, pero probablemente sea más popular entre aquellos que vinieron de Debian Linux [para mac o PPC] en busca de un soporte de hardware un poco más estable ... mientras duró. Instala paquetes en /sw por razones de no sobrescribir o sobrescribir lo que otros instaladores podrían instalar. También hay algo sobre las rutas de búsqueda del compilador y el PATH predeterminado que ya contiene /usr/local/bin .
  • Homebrew es un tipo de sistema de puertos en concepto, pero escrito en ruby. No proviene de un mundo de sistema operativo independiente y fue destinado a usuarios de Mac OS X (los otros se utilizan y prueban a fondo por el mismo). A partir de mediados de 2014, trata de crear básicamente todos los paquetes (ellos los llaman fórmula), aunque algunos están disponibles en forma binaria llamados botellas, y usted puede hacer un depósito de botellas para compartir en su grupo social si está inclinado a semi - Estandardizar las cadenas de herramientas de usted y de sus amigos (lo mismo para otros sistemas). En el lado positivo, se construye utilizando tantas bibliotecas como probablemente ya tienes de Apple. Creo que no necesita Xcode para que funcione en la mayoría de los casos, pero lo "apoya y recomienda". Puede instalar cada elemento en su propio prefijo, pero el valor predeterminado es el /usr/local relativamente integrado. Creo que fue kickstarted y es más reciente que los otros. Personalmente, descubrí que utilicé este más porque rara vez necesito paquetes interdependientes, y no tengo claro qué tan bien lo admite Mac Homebrew. Homebrew pretende forzarlo a usar administradores de paquetes más apropiados para el software que se origina en un administrador estrechamente acoplado, como cpan, gemas y similares.
  • pkgsrc estaría disponible para Mac OS X, tiene paquetes binarios y proviene de NetBSD que lo mantiene y, a su vez, se basa en el sistema de puertos de FreeBSD . NetBSD estaba tan enfocado en la portabilidad entre arquitecturas que probablemente era el mejor sistema de puerto candidato para comenzar a admitir otras plataformas también, lo cual tiene. En mi descripción es similar a Macport, pero no la he usado (excepto en NetBSD), y creo que se instala en / pero construye y mantiene los paquetes en /pkg . Probablemente haya muchos paquetes (como 12k) y un 20% no se compile, o la última versión de la fuente puede no parchearse con el último parche mantenido. Es por eso que los paquetes binarios son mis preferencias con este tipo de sistemas.

También he usado perlbrew , que es un tipo de homebrew para perl , aplicaciones integradas en perl y algunas dependencias. Es principalmente una buena manera de mantener varias versiones de perl, y niega convenientemente la necesidad de otros sistemas de paquetes más generales (para su propósito). Pero, por supuesto, eso también tiene cpan y cpanminus .

Es posible que encuentre administradores similares para su propio mini-entorno (como vundle para vim, o gema para ruby, npm para el nodo .js, pypm o pip para python, go incorporado go install ... etc?)

    
respondido por el dlamblin 16.06.2014 - 19:05
4

Fink y MacPorts son competidores directos en que instalan un sistema ortogonal. Fink perdió mucho terreno ante MacPorts hace varios años. No estoy completamente seguro de por qué ahora, pero MacPorts manejó casi todo mejor.

Tenemos menos razones para una instalación ortogonal ahora que Mac OS X se ha vuelto menos loco. Brew fue creado otoh para integrarse mejor con Mac OS X, lo que lo hace más liviano y menos ortogonal, y también porque Rubyist lo reescribe todo.

En la práctica, MacPorts es un poco más complicado, pero MacPorts casi siempre funciona, mientras que Brew es más simple pero es más probable que se tope con una pared de ladrillos.

Hazte estas preguntas:

  • ¿Utilizas muchas herramientas del ecosistema de Linux?
  • ¿Necesita varias versiones?
  • ¿Experimentas con nuevas herramientas mucho?
  • ¿Utiliza herramientas / bibliotecas de matemáticas / ciencias u otras herramientas inusuales?

Cualquier respuesta afirmativa sugiere que debería elegir MacPorts. Brew es menos costoso si instala relativamente pocos paquetes comunes, pero Brew tampoco manejará las complejidades. Brew contamina /usr/local , lo que es posible que desee para instalaciones manuales también. En realidad, hay argumentos más detallados para MacPorts pero, de nuevo, probablemente no se apliquen si contesta no.

Por el contrario, si respondió sí, pero su máquina principal ejecuta Linux, y su Mac es solo un juguete que ejecuta un software de Linux mínimo, entonces en realidad podría hacerlo mejor con Brew.

    
respondido por el Jeff Burdges 19.10.2014 - 14:23
2

Pero como nota al margen, nada relacionado con Apple OS X se instalaría en / usr / local / bin. Usan / usr / lib, / usr / bin detrás de escena y los marcos se empaquetan en / Library / Frameworks mientras que las cosas se instalan a través de Unix ./configure, make, make install usará / usr / local / bin, etc. y las utilidades como MacPorts usarán / opt / y posiblemente paquetes de marcos para su personal ~ / Library / Frameworks /.

Mi recomendación es permanecer con MacPorts si es a lo que estás acostumbrado. Básicamente, la principal diferencia es que MacPorts utiliza un sistema que se parece más a la verdadera implementación del árbol de puertos Unix / BSD con puertos de FreeBSD, mientras que Fink usa aplicaciones portadas desde los archivos de Linux Debian y usa el mismo sistema de administrador de paquetes que Linux Debian.

    
respondido por el Chris 22.01.2014 - 23:03

Lea otras preguntas en las etiquetas