Recientemente me cambié a una Mac desde Ubuntu. Me decepcionó que Mac no tenga lo conveniente sudo apt-get
en Ubuntu. He oído que debería usar homebrew, pero no estoy exactamente seguro de lo que hace homebrew o macports.
Recientemente me cambié a una Mac desde Ubuntu. Me decepcionó que Mac no tenga lo conveniente sudo apt-get
en Ubuntu. He oído que debería usar homebrew, pero no estoy exactamente seguro de lo que hace homebrew o macports.
Respuestas:
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 feliz.
MacPorts es realmente estable, en 8 años nunca tuve un problema con él, y todo mi ecosistema Unix se transmitió en él.
Si usted 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, luego actualice 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 PHP55 y PHP56 instalados (con muchas extensiones diferentes), puede intercambiarlos con solo un 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 propio Ruby.
Homebrew y macports resuelven el mismo problema: la instalación de bibliotecas y utilidades comunes que no están incluidas en osx.
Por lo general, se trata de bibliotecas relacionadas con el desarrollo y el uso más común de estas herramientas es para desarrolladores que trabajan en osx.
Ambos necesitan las herramientas de línea de comando xcode instaladas (que puede descargar por separado desde https://developer.apple.com/ ), y para algunos paquetes específicos necesitará instalar todo el IDE de xcode.
xcode se puede instalar desde la tienda de aplicaciones mac, es una descarga gratuita, pero lleva un tiempo ya que es de alrededor de 5 GB (si no recuerdo mal).
macports es una versión osx de la utilidad de puerto de BSD (como osx se deriva de BSD, esta fue una elección natural). Para cualquiera que esté familiarizado con cualquiera de las distribuciones de BSD, macports se sentirá como en casa.
Una gran diferencia entre homebrew y macports; y la razón por la que prefiero homebrew es que no sobrescribirá las cosas que deberían instalarse "nativamente" en osx. Esto significa que si hay un paquete nativo disponible, homebrew le notificará en lugar de sobrescribirlo y causar problemas más adelante. También instala bibliotecas en el espacio del usuario (por lo tanto, no necesita usar "sudo" para instalar cosas). Esto ayuda a deshacerse de las bibliotecas también, 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 (llamados fórmulas) se actualizan con bastante frecuencia.
macports no sobrescribe los paquetes OSX nativos; proporciona su propia versión. Esta es la razón principal por la que prefiero macports en lugar de home-brew, debe estar seguro de lo que está utilizando y el cambio de Apple en diferentes momentos a los puertos y haber sido conocido estar atrasado en actualizaciones en algunos proyectos
¿Puedes dar una referencia que muestre que macports sobrescribe los paquetes nativos de OS X? Por lo que puedo decir, 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 elementos por separado.
Homebrew te avisará cuando debas instalar cosas "nativamente" (usando el instalador preferido de la biblioteca / herramienta) para una mejor compatibilidad. Esto es lo que quise decir. También usará tantas bibliotecas locales que estén disponibles en OS X. De la wiki :
Realmente no nos gustan los engañados en Homebrew / homebrew
Sin embargo, ¡nos gustan los engañados en el grifo!
Las cosas que vienen con OS X o son bibliotecas proporcionadas por RubyGems, CPAN o PyPi no deben ser engañadas. Hay buenas razones para esto:
- Las bibliotecas duplicadas rompen regularmente las compilaciones
- Surgen errores sutiles con bibliotecas duplicadas y, en menor medida, herramientas duplicadas
- Queremos que se esfuerce más para que su fórmula funcione con lo que viene con OS X
Opcionalmente, puede sobrescribir las versiones de utilidades proporcionadas por macosx con homebrew.
/opt/local
Actualmente, Macports tiene muchos más paquetes (~ 18.6 K) que las fórmulas Homebrew (~ 3.1K), debido a su madurez. Sin embargo, Homebrew se está recuperando lentamente.
Los paquetes Macport tienden a ser mantenidos por una sola persona.
Macports puede mantener múltiples versiones de paquetes, y puede habilitarlos o deshabilitarlos para probar cosas. A veces, esta lista puede corromperse y debe editarla manualmente para que las cosas vuelvan a estar en orden, aunque esto no es demasiado difícil.
Ambos gestores de paquetes solicitarán que se actualicen periódicamente. Esto puede llevar algo de tiempo.
Nota: ¡puede tener ambos gestores de paquetes en su sistema! No es uno ni el otro. Brew podría quejarse, pero Macports no lo hará.
Además, si se trata de paquetes python o ruby, use un entorno virtual siempre que sea posible.
Por defecto, Homebrew instala paquetes en su / usr / local. Los comandos de Macport requieren sudo para instalarse y actualizarse (similar a apt-get en Ubuntu).
Para más detalles:
Este sitio sugiere usar 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 me cambié de Ubuntu recientemente, y disfruto usando homebrew (¡es simple y fácil de usar!), Pero si te apetece usar sudo, ¡Macports podría ser la mejor manera de hacerlo!
/usr/local
a Homebrew. Apple se ha ido /usr/local
a "ejecutables, bibliotecas, etc. no incluidos en el sistema operativo básico". Eso significa que es posible que las herramientas instaladas antes de usar Homebrew se hayan creado de /usr/local
manera que no se puedan modificar sin él sudo
. No discuten eso en la wiki.
/usr/local
sin permisos de root. Los permisos predeterminados para /usr
una nueva instalación de OS X son propietarios de root, sin permisos de escritura para nadie más. Para incluso crear /usr/local
, Homebrew necesitaría acceso root. (No estoy tratando de defender nada)
homebrew
puede instalar cosas sin, sudo
porque cuando se configura, solía sudo
hacer que el permiso en el directorio sea más flexible para que pueda hacer cualquier cosa dentro /usr/local
sin activar la contraseña. ¿Significa que la parte "instalar sin contraseña" está mal? ¡No lo creo! Sigue siendo cierto que homebrew
va a ser capaz de conseguir cosas sin la contraseña.