homebrew - sierra - macports xcode
¿Cuál es la diferencia/uso de homebrew, macports u otras herramientas de instalación de paquetes? (4)
Recientemente he cambiado a una Mac desde Ubuntu. Me decepcionó que Mac no tenga el conveniente sudo apt-get
en Ubuntu. He oído que debo usar homebrew pero no estoy exactamente seguro de qué hace homebrew o macports.
Actualmente, Macports tiene muchos más paquetes (~ 18.6 K) que las fórmulas Homebrew (~ 3.1K), debido a su vencimiento. Homebrew está alcanzando lentamente sin embargo.
Los paquetes de Macport tienden a ser mantenidos por una sola persona.
Macports puede mantener múltiples versiones de paquetes, y puedes habilitarlos o deshabilitarlos para probar cosas. A veces, esta lista se puede corromper y hay que editarla manualmente para que las cosas vuelvan a estar en orden, aunque esto no es demasiado difícil.
Ambos gestores de paquetes pedirán ser actualizados regularmente. Esto puede llevar algún tiempo.
Nota: puede tener ambos gestores de paquetes en su sistema! No es uno u otro. Brew podría quejarse, pero Macports no.
Además, si está tratando con paquetes de python o ruby, use un entorno virtual siempre que sea posible.
De forma predeterminada, Homebrew instala paquetes en su / usr / local. Los comandos de Macport requieren sudo para instalar y actualizar (similar a apt-get en Ubuntu).
Para más detalles:
Este sitio sugiere el uso de Hombrew: http://deephill.com/macports-vs-homebrew/
mientras que este sitio enumera las ventajas de usar Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
También cambié de Ubuntu recientemente, y disfruto usando homebrew (¡es simple y fácil de usar!), Pero si te sientes apegado a usar sudo, Macports podría ser la mejor manera de hacerlo.
Homebrew y macports resuelven el mismo problema: es la instalación de bibliotecas y utilidades comunes que no están empaquetadas con osx.
Normalmente, estas son bibliotecas relacionadas con el desarrollo y el uso más común de estas herramientas es para los desarrolladores que trabajan en osx.
Ambos necesitan las herramientas de línea de comandos de xcode instaladas (que puede descargar por separado desde https://developer.apple.com/ ), y para algunos paquetes específicos necesitará tener instalado todo el IDE de xcode.
xcode se puede instalar desde la tienda de aplicaciones de mac, es una descarga gratuita, pero lleva un tiempo desde sus 5GB (si recuerdo bien).
macports es una versión osx de la utilidad de puerto de BSD (ya que osx se deriva de BSD, esta fue una elección natural). Para cualquier persona familiarizada con cualquiera de las distribuciones de BSD, Macports se sentirá como en casa.
Una diferencia importante entre homebrew y macports; y la razón por la que prefiero el homebrew es que no sobrescribirá las cosas que deberían instalarse "nativamente" en osx. Esto significa que si hay un paquete nativo disponible, homebrew lo notificará en lugar de sobrescribirlo y causará problemas más adelante. También instala bibliotecas en el espacio del usuario (por lo tanto, no es necesario usar "sudo" para instalar las cosas). Esto ayuda a la hora de deshacerse de las bibliotecas, ya que todo está en una ruta accesible para usted.
homebrew también disfruta de una comunidad de usuarios más activa y sus paquetes (denominados fórmulas) se actualizan con bastante frecuencia.
Macports no sobrescribe los paquetes OSX nativos, sino que proporciona su propia versión. Esta es la razón principal por la que prefiero Macports en lugar de en casa, necesita estar seguro de lo que está usando y el cambio de Apple en diferentes momentos a los puertos, y se sabe. Estaremos años atrasados de actualizaciones en algunos proyectos.
¿Puede dar una referencia que muestre que macports sobrescribe paquetes nativos de OS X? Por lo que sé, toda la instalación de macports ocurre en
/opt/local
Tal vez debería aclarar, no dije en ninguna parte de mi respuesta que macports sobrescribe los paquetes nativos de OSX. Ambos instalan artículos por separado.
Homebrew te avisará cuando debas instalar las cosas "de forma nativa" (usando el instalador preferido de la biblioteca / herramienta) para una mejor compatibilidad. Esto es lo que quise decir. También utilizará tantas bibliotecas locales disponibles en OS X. Desde el wiki :
Realmente no nos gustan los duplicados en Homebrew / homebrew
Sin embargo, nos gustan los duplicados en el grifo!
Las cosas que vienen con OS X o es una biblioteca proporcionada por RubyGems, CPAN o PyPi no deben ser engañadas. Hay buenas razones para esto:
- Las bibliotecas duplicadas rompen regularmente las construcciones
- Los errores sutiles emergen con bibliotecas duplicadas y, en menor medida, herramientas duplicadas
- Queremos que se esfuerce más para que su fórmula funcione con lo que OS X incluye.
Opcionalmente, puede sobrescribir las versiones provistas por macosx de las utilidades con homebrew.
MacPorts es el camino a seguir.
Como @ user475443 señaló, MacPorts tiene muchos más paquetes. Con Brew te encontrarás atrapado pronto porque la fórmula que necesitas no existe.
MacPorts es una aplicación nativa: C + TCL. No necesitas a Ruby en absoluto. Para instalar Ruby en Mac OS X es posible que necesites MacPorts, así que solo ve con MacPorts y estarás contento.
MacPorts es realmente estable, en 8 años nunca tuve un problema con eso, y todo mi relé del ecosistema de Unix en él.
Si es un desarrollador de PHP, puede instalar la última versión de Apache (Mac OS X usa 2.2), PHP y todas las extensiones que necesita, y luego actualizar todo con un solo comando. Olvídate de hacer lo mismo con Homebrew.
Grupos de apoyo de MacPorts.
foo@macpro:~/ port select --summary Name Selected Options ==== ======== ======= db none db46 none gcc none gcc42 llvm-gcc42 mp-gcc48 none llvm none mp-llvm-3.3 none mysql mysql56 mysql56 none php php55 php55 php56 none postgresql postgresql94 postgresql93 postgresql94 none python none python24 python25-apple python26-apple python27 python27-apple none
Si tiene ambos PHP55 y PHP56 instalados (con muchas extensiones diferentes), puede intercambiarlos con un solo comando. Todas las extensiones relativas son parte del grupo y se activarán dentro del grupo elegido: php55 o php56. No estoy seguro de que Homebrew tenga esta característica.
A los rubistas les gusta reescribir todo en Ruby, porque lo único que están a gusto es el mismo Ruby.