¿Cuál es el instalador oficial de los paquetes de Unix en Mac OS?

10

Estoy un poco confundido acerca de la instalación de paquetes estándar de Unix en Mac OS X. Por ejemplo, tengo / usr / bin / svn, que es SVN v.1.4.4, pero FinkCommander dice que svn no está instalado. Lo mismo vale para otros paquetes, como emacs, etc.

¿Es solo una configuración incorrecta de FinkCommander? Actualmente está configurado para instalar todo /sw, que ni siquiera está en el PATH. Entonces, ¿solo tengo que configurarlo para instalar paquetes /usry reconocerá el software instalado? No quiero instalar paquetes duplicados de todo, y es bastante extraño que el FinkCommander no esté sincronizado con el software instalado.

¿O hay algún otro instalador que debería estar usando? ¿Es Mac Ports el instalador recomendado para usar?

(Estoy usando Mac OS 10.5.8.)

Dehmann
fuente
Buena pregunta y algunas buenas respuestas. También echa un vistazo a éste: superuser.com/questions/28529/macports-fink-etc
Jonik
En cuanto a MacPorts: compilar todos los paquetes desde cero es una locura. Me encuentro dejando el portátil encendido durante días y noches ahora solo para instalar R con MacPorts (que primero compila gcc43, perl, automake, glib2 y muchos más ...).
dehmann el
Si desea paquetes binarios precompilados , consulte Rudix .
Telémaco el

Respuestas:

10

No hay un administrador de paquetes oficial para OS X.

Fink , MacPorts y Homebrew proporcionan sus propias características y funcionalidades diferentes para llenar este vacío.

Como lo señalan muchos usuarios:

  • evite usar / usr
  • hasta que configure su RUTA, no se encontrarán paquetes de diferentes directorios.
Jeremy L
fuente
Gracias por la respuesta. Eso es bastante decepcionante. ¿Por qué no pueden ofrecer un administrador de paquetes adecuado? :-(
dehmann
55
Su público objetivo no sabría qué hacer. El resto de nosotros lo hacemos funcionar :-)
Jeremy L
Lo elijo como respuesta aceptada, pero agregaría que en realidad está bien usar varios gerentes. Al menos Fink y MacPorts pueden coexistir, ya que se instalan en diferentes directorios.
dehmann
7

Aunque no existe un administrador de paquetes oficial de Unix / FOSS para Mac OS X, debe tenerse en cuenta que MacPorts fue creado y aún es mantenido principalmente por los ingenieros de Mac OS X / Darwin de Apple. El sitio web macports.org está alojado en los servidores de Apple, como parte del proyecto "MacOSForge.com" de Apple. Debido a que Mac OS X / Darwin está basado en * BSD, muchos de los ingenieros de software de capa Unix de Apple provienen de las tradiciones * BSD, por lo que modelaron MacPorts según el modelo de "puertos" * BSD.

Fink fue el administrador original de paquetes de código abierto para Mac OS X, pero no tiene lazos organizativos estrechos con Apple, y eligió seguir la tradición apt-get de Debian Linux.

No estoy seguro de que ninguno de los detalles anteriores sea suficiente para recomendar uno sobre el otro. Yo diría que todo se reduce a qué modelo ya estás más familiarizado. Si está más familiarizado con apt-get, vaya con Fink. Si está más familiarizado con los "puertos" BSD, vaya con MacPorts.

Como han dicho otros, es mejor dejar solo las herramientas Unix predeterminadas de Mac OS X. Fink y MacPorts ya han aprendido esa lección e instalan sus propias copias de cosas en sus propias jerarquías de directorios (/ sw para Fink, / opt para MacPorts). Homebrew aún no ha aprendido completamente esa lección, pero lo harán, tan pronto como algún usuario use Homebrew para actualizar la copia incorporada de, por ejemplo, Perl o Python, y tiene un problema de compatibilidad imprevisto que rompe las piezas incorporadas de Mac OS X, como los paquetes de instalación (archivos de paquete Mac OS X .pkg) que usan scripts de Perl para realizar algunas de las tareas de instalación.

Spiff
fuente
55
Según tengo entendido, Homebrew se instala bajo / usr / local / y, por lo tanto, nunca sobrescribirá el sistema Python.
Pepijn
44
Sería imposible usar Homebrew para sobrescribir sus componentes existentes. OSX se envía sin / usr / local de forma predeterminada.
Paul Robinson
5

No hay un administrador de paquetes oficial para OS X.

Fink probablemente esté diciendo que no está instalado porque no está instalado en la ruta de Fink. Me encontré con problemas al instalar algo de Fink o MacPorts, o copias duplicadas con diferentes números de versión.

Elige uno y cúmplelo. Si cree que tiene que cambiar, sería mejor eliminar el otro administrador de paquetes y reinstalarlo desde el nuevo.

Josh K
fuente
3

La versión de svn que estás viendo vino con Mac OS X, no de Fink o de cualquier otra fuente.

Puede identificar diferentes versiones con el typecomando de bash . Por ejemplo, uso MacPorts e instalé una versión más reciente de sqlite3:

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

La versión en / opt / local / bin vino de MacPorts, la versión en / usr / bin vino con Mac OS X.

Le recomiendo que no instale los binarios de Fink o MacPorts en / usr, déjelos en paz. Deje que Fink se instale en / sw o MacPorts en / opt / local. Ajuste su PATHpara encontrar las versiones de Fink / MacPorts antes que las versiones estándar

Doug Harris
fuente
Usando banderas similares, puede usarwhich -a sqlite3
Jeremy L