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?
Fink existe desde al menos 2001. Fink y MacPorts son administradores de paquetes que quieren ser "ortogonales" al sistema, es decir, instalan su propia versión de python
, perl
, bibliotecas, compiladores, etc. en sus propios árboles (/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 rompía cosas cuando Apple actualizaba sus propias cosas.
Por lo que entiendo, Homebrew quiere estar más "integrado" con el sistema, usa las bibliotecas que proporciona Apple e instala sus cosas en /usr/local/bin
otras carpetas estándar. Supongo que eso significa que la elección del software es más limitada con Homebrew, no puedo imaginar que uno pueda instalar KDE con él, pero no lo he probado.
Un punto para Fink vs. MacPorts: hace unos años, el proyecto Fink proporcionó paquetes binarios; es decir, podría descargar e instalar los paquetes sin compilarlos usted mismo. Su administrador de paquetes todavía tiene esa capacidad, solo que no ha habido binarios disponibles durante mucho tiempo. No sé si eso ha cambiado mientras tanto.
En resumen: sin las cosas binarias, Fink y MacPorts son muy similares. Deberían tener más paquetes disponibles que Homebrew, mientras que Homebrew debería ocupar menos espacio en disco por las razones que mencioné anteriormente. En cuanto a la calidad: nunca he instalado Homebrew, y entre Fink y MacPorts suelo preferir el que no estoy usando actualmente.
Entonces, si está satisfecho con MacPorts, quédese con él.
PD : La razón por la que nunca probé Homebrew es que utilizo algunos paquetes precompilados. Por lo general, estos también se instalan en /usr/local/bin y similares, lo que simplemente pide problemas.
Yo diría que las principales diferencias son:
providencia, resultado y método de distribución.
El detalle más importante será que verifique si el sistema que elija contiene paquetes para el software que desea. Los recuentos de paquetes son aproximadamente: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc.
/opt/local
que probablemente no serán tocados por otros paquetes de instalación o actualizaciones del sistema.dpkg
y apt-get
el beneficio principal es que puede encontrar paquetes binarios de manera confiable... suponiendo que tenga un paquete original. repositorio que contiene archivos binarios para su versión actual del sistema operativo. También surgió de la base de usuarios de Darwin, pero probablemente fue más popular entre aquellos que venían de Debian Linux [para mac o PPC] en busca de un soporte de hardware un poco más estable... mientras duró. Instala paquetes /sw
por razones de no sobrescribir o sobrescribir lo que otros instaladores podrían instalar. También algo sobre las rutas de búsqueda del compilador y el PATH
contenido predeterminado /usr/local/bin
ya./usr/local
Creo que se puso en marcha y es más reciente que los demás. Personalmente, descubrí que usé este más porque rara vez necesito paquetes interdependientes, y no tengo claro qué tan bien lo admite Mac Homebrew. Homebrew tiene como objetivo obligarlo a usar administradores de paquetes más apropiados para el software que se origina en un administrador estrechamente acoplado, como cpan, gems y similares./
pero crea y mantiene paquetes en /pkg
. Probablemente haya muchos paquetes (como 12k) y es posible que un 20 % no se construya, o que la última versión de la fuente no se parchee con el último parche mantenido. Es por eso que los paquetes binarios son mi preferencia con este tipo de sistemas.También he usado perlbrew, que es una especie de homebrew para perl
aplicaciones integradas en perl y algunas dependencias. Es sobre todo una buena manera de mantener múltiples versiones de perl, y evita 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 .
Puede encontrar administradores similares para su propio mini-entorno (como vundle para vim, o gem para ruby, npm para node.js, pypm o pip para python, go's incorporado go install
... etc.)
Fink y MacPorts son competidores directos en el sentido de que instalan un sistema ortogonal. Fink perdió mucho terreno frente a 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 para integrarse mejor con Mac OS X, haciéndolo más liviano y menos ortogonal, y también porque Rubyist reescribió 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:
Cualquier respuesta afirmativa sugiere que debe elegir MacPorts. Brew es menos costoso si instala relativamente pocos paquetes comunes, pero Brew no manejará las complejidades tan bien. Brew contamina /usr/local
que también podría desear para instalaciones manuales. En realidad, hay argumentos más detallados para MacPorts pero, de nuevo, probablemente no se apliquen si respondió que no.
Por el contrario, si respondió que sí, pero su máquina principal ejecuta Linux, y su Mac es solo un juguete que ejecuta un software mínimo de Linux, entonces en realidad podría hacerlo mejor con Brew.
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 que instala usted mismo a través de Unix normal ./configure, make, make install usarán /usr/local/bin, etc. , y utilidades como MacPorts usarán /opt/ y posiblemente empaquetarán frameworks en su ~/Library/Frameworks/ personal.
Mi recomendación es quedarse con MacPorts si eso es a lo que estás acostumbrado. Básicamente, la principal diferencia es que MacPorts usa un sistema que se asemeja más a la implementación del árbol de puertos de Unix/BSD con puertos de FreeBSD, mientras que Fink usa aplicaciones portadas de los archivos de Debian de Linux y usa el mismo sistema de administración de paquetes que Debian de Linux.
izq.
bmike