¿Qué es Homebrew para macOS?

main-qimg-bc66aaa17b88ba7c8c77c728d9162c4d

Hay muchos sabores de UNIX en el mundo hoy en día, algunos que son verdaderamente UNIX, como BSD, y algunos que funcionan como UNIX pero no están certificados, como Linux.

Los sistemas UNIX son lo suficientemente diferentes que uno no puede simplemente copiar un programa de un sabor de UNIX a otro y esperar que funcione. De hecho, la complejidad del software hoy en día significa que uno no puede copiar una pieza de software UNIX de una máquina a otra, incluso cuando se ejecuta el mismo sistema operativo y esperar que funcione. Sin embargo, son lo suficientemente compatibles como para que el código fuente del software pueda compilarse, en presencia de las bibliotecas y herramientas de apoyo adecuadas, en un software binario ejecutable que pueda ejecutarse en cualquier sistema operativo concreto.

Esta complejidad ha llevado al desarrollo de un género de software llamado "gestor de paquetes", cuyo trabajo consiste en obtener las bibliotecas adecuadas y el software dependiente necesario para compilar y ejecutar el software en un sistema operativo concreto. (Ver Gestor de paquetes para más información.)

Los gestores de paquetes hacen un inventario del software que está instalado en una máquina, determinan las dependencias necesarias para un paquete deseado, construyen esas dependencias y, a continuación, construyen el paquete seleccionado.

En resumen, si está interesado en instalar software de la comunidad UNIX más amplia en el Mac, debería instalar primero un gestor de paquetes para facilitar ese proceso y garantizar la compatibilidad. Homebrew es uno de esos gestores de paquetes.

El gestor de paquetes en Linux se llama aptitude, y la forma de instalar un determinado software en Linux es utilizar el comando apt-get install {nombre-paquete}. Es posible que haya visto ese comando en la documentación de la web.

BSD UNIX, del que Darwin u OS X es un derivado, no tiene un gestor de paquetes integrado como aptitude, por lo que Homebrew se llama a sí mismo el "gestor de paquetes perdido".

Homebrew es uno de los varios gestores de paquetes para OS X, incluyendo MacPorts y Fink.

Homebrew, como todos los gestores de paquetes, se basa en una base de metadatos (datos que describen datos) sobre los paquetes de software, y uno de los elementos de esos metadatos es la ubicación, normalmente en Internet, del código fuente que debe construirse junto con una lista de dependencias necesarias. Homebrew suele utilizar repositorios públicos de github para su fuente, y utiliza scripts de Ruby para declarar los metadatos sobre el paquete.

Así pues, Homebrew es un gestor de paquetes para OS X que permite a un usuario instalar fácilmente software del mayor conjunto de software UNIX y de código abierto en el Mac. Dado que utiliza Ruby y se integra fácilmente con github, es extensible por simples mortales, lo que significa que el cuerpo de paquetes cubiertos es fácil de crecer. La mayoría de los paquetes de software UNIX populares están disponibles para ser instalados a través de Homebrew y los que no lo están pueden estar disponibles a través de alguna configuración en Ruby.