¿Qué es y cómo usar Homebrew? [Guía 2021 en Español]

Alternativa Ninite

Homebrew es la mejor forma de instalar en nuestro Mac

En mi búsqueda por «automatizar todas las cosas» y como alternativa de Ninite para Mac, he estado indagando en cómo podría instalar y mantener actualizado todo lo que necesite en mi portátil, para poder seguir haciendo nada  «cosas productivas» cómodamente.

Por ello, con un poco (bastante) de tiempo e indagando en el código inherente de cualquier ordenador, es preferible usar un instalador que permita escoger qué instalar y qué no, evitando instalaciones inútiles y demás basura en mi PC.

Esto es un desafío para los usuarios de Mac. Un lugar en el que el sistema operativo de Mac, MacOS, siempre ha estado detrás de Linux en la administración de paquetes.

No hay un administrador de paquetes predeterminado para los usuarios de Mac, mientras que los usuarios de Linux tienen muchas opciones, desde el familiar yum y apt para la actual elección de Flatpak. ¿Pero qué hay de nosotros?

Aquí es donde entra Homebrew.

Homebrew llena el vacío como el administrador de paquetes de facto para MacOS (y como otra opción para Linux). Proporciona una experiencia increíblemente suave y directa para cualquiera que esté familiarizado con la línea de comandos, y es una buena manera de aprender la línea de comandos si eres nuevo en ella.

Si estás en un Mac y no tienes ya Homebrew, puedes instalarlo con:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Este comando ejecuta el script de instalación proporcionado por el equipo de Homebrew. Si prefieres ser más precavido, puedes rizar el archivo y ejecutarlo manualmente después de revisarlo:
$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh --output homebrew_installer.sh
$ more homebrew_installer.sh # revisa el script hasta que te sientas cómodo
$ bash homebrew_installer.sh

Gestiona las utilidades en línea de comandos con Homebrew

Ninite alternativa

Homebrew se jacta de que «instala las cosas que necesitas y que Apple (o tu sistema Linux) no» instaló por defecto. La instalación se realiza con el comando brew, que nos da acceso a miles de utilidades de línea de comandos, pero no a aplicaciones más complejas.

Para nosotros los nerds, las utilidades que entran en la categoría «lo que necesitas» incluyen el práctico comando tree que muestra las estructuras de directorios y pyenv, que uso para manejar múltiples versiones de Python.

Puedes ver todas las «formulae» que están disponibles en Homebrew usando el comando de búsqueda, y yo uso el comando wc que muestra cuántas fórmulas hay:

# -l cuenta el número de líneas
$ brew search | wc -l
5013

Hay más de 5.000 fórmulas, lo que es una cantidad increíble de software. Así que es mejor tener una idea de lo que quieres antes de buscar en esa enorme lista. Afortunadamente, es bastante fácil de navegar.

Las fórmulas están codificadas y centralizadas en los repositorios del núcleo que se dividen por sistema operativo (Mac en Homebrew Core y Linux en Linux Core). También están disponibles a través de la API de Homebrew y aparecen en el sitio web.

El boca a boca es otro gran método para encontrar utilidades. Con eso en mente, aquí están algunas de mis favoritas si estás buscando inspiración:

  • pyenv, rbenv y nodenv para manejar las versiones de Python, Ruby y Node.js (respectivamente)
  • imagemagick para la edición de imágenes con guion
  • pandoc para las conversiones de documentos programables (a menudo cambio de .docx a .md o .html)
  • Hub para una mejor experiencia Git para los usuarios de GitHub
  • tldr para ejemplos de cómo usar una utilidad de línea de comando

Como ejemplo, eche un vistazo a las páginas tldr, una alternativa fácil de usar para desplazarse a través de las páginas de una aplicación. Puedes confirmar que está disponible ejecutando search de nuevo:

$ brew search tldr
==> Fórmulas
tldr ✔

¡Éxito! La marca de verificación le permite saber que está disponible. Ahora puedes instalarlo:

$ brew install tldr
==> Descargando https://homebrew.bintray.com/bottles/tldr-1.3.0_2.catalina.bottle.tar.gz
Alreadydownloaded:/Users/mbbroberg/Library/Caches/Homebrew/downloads/901bc14594a9283e9ab20aec942dc5a9a2befb7e96e1b0fcccb4e3257918813c--tldr-1.3.0_2.catalina.bottle.tar.gz
==> Instalando tldr
==> Vertiendo tldr-1.3.0_2.catalina.botella.tar.gz
🍺 /usr/local/Cellar/tldr/1.3.0_2: 6 archivos, 35.5KB

Homebrew, afortunadamente, preconstruye los binarios, así que no tienes que construir a partir del código fuente en tu máquina local. Eso ahorra mucho tiempo y el ruido del ventilador de la CPU. Otra cosa que aprecio de Homebrew es que puedes apreciar esta característica sin entender exactamente lo que significa.

Pero si te gusta, puede ser divertido ver la complejidad. Ejecuta la información en tldr, y puedes ver toda la gestión de dependencias, el código fuente, e incluso el análisis público:

$ brew info tldr
tldr: estable 1.3.0 (embotellado), HEAD
Simplified and community-driven man pages
https://tldr.sh/
Conflicts with:
tealdeer (porque ambos instalan binarios `tldr`)
/usr/local/Cellar/tldr/1.3.0_2 (6 archivos, 35.5KB) *
Poured from bottle on 2020-05-20 a las 15:12:12
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/tldr.rb
==> Dependencies
Build: pkg-config ✔
Required: libzip ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 2.811 (30 days), 7.875 (90 days), 27.105 (365 days)
install-on-request: 2.806 (30 days), 7.860 (90 days), 27.080 (365 days)
build-error: 0 (30 days)

Por último, como en cualquier buen gestor de paquetes, la desinstalación de brew de Homebrew está disponible para limpiar y eliminar rápidamente las utilidades no utilizadas.

Controla tus aplicaciones con Homebrew

Disco recuperacion ninite

Las utilidades de la línea de comando son una explosión, pero ¿qué hay de las aplicaciones completas? Homebrew mantiene sus comandos estándar simples e instala sólo aplicaciones de un solo archivo a través de su interfaz de línea de comandos predeterminada de brew. Las aplicaciones no encajan en esa estructura. Tienen una jerarquía de directorios más compleja que es mucho más que un simple binario.

Afortunadamente, Homebrew en Mac incluye un subcomando llamado «casks» para estructuras multidirectorios más complejas. Lo que es especialmente bueno es que «cask» usa una estructura de comandos similar a los comandos estándar de brew, así que puedes usar pasos de búsqueda, instalación e información similares:

brew search --cask | wc -l
4772

Vaya, hay casi 5.000 aplicaciones más para navegar, que son más fáciles de examinar en el sitio web de Homebrew.

Te guiaré a través del barril con una de mis nuevas aplicaciones favoritas: Meld (sobre la cual leí en Opensource.com). Es un editor con muchas características que ayuda a manejar los conflictos de fusión. Hay una descarga en su sitio web, y podría ejecutar el instalador y arrastrarlo y soltarlo en mi carpeta de aplicaciones, pero ya no lo hago. Uso Homebrew.

Primero, confirmo que está disponible a través de una sintaxis ligeramente diferente:

$ búsqueda de cerveza --casas se unen
==> Barriles
meld

Luego uso el subcomando del barril para instalarlo:

$ brew cask install meld
==> Descargando https://github.com/yousseb/meld/releases/download/osx-19/meldmerge.dmg
==> Descargando de https://github-production-release-asset-2e65be.s3.amazonaws.com/28624006/66cb25
######################################################################## 100.0%
==> Verificando la suma de comprobación de SHA-256 para la "unión" del barril.
==> Instalando Cask meld
==> Moviendo la aplicación 'Meld.app' a '/Applications/Meld.app'.
==> Enlazando el binario 'meld.wrapper.sh' a '/usr/local/bin/meld'.
🍺 meld fue instalado con éxito!

Homebrew no sólo instala la aplicación sino que también la hace disponible en mi ruta actual en /usr/local/bin/. Ahora puedo ejecutar meld desde la línea de comandos o lanzar la aplicación desde la carpeta de aplicaciones.

Actualizar Mac con homebrew upgrade

Ninite alternativa

La razón principal por la que utilizo un gestor de paquetes es para poder actualizar constantemente mi software para evitar los errores de seguridad conocidos y asegurarme de tener siempre las últimas funciones. Si instalo todo a mano, tengo que vigilar cada herramienta y aplicación para saber si tiene un auto-actualizador y, si no, bajar las últimas versiones yo mismo.

En las actualizaciones es donde brilla la gran gestión de paquetes. Como no tengo ningún requisito de versión especial, sólo ejecuto un comando para actualizar todo sin problemas:

$ actualización de brew
==> Actualizando 6 paquetes obsoletos:
timón 3.2.1 -> 3.2.2
python@3.8 3.8.2_4 -> 3.8.3
ipython 7.14.0 -> 7.15.0
ir 1.14.2_1 -> 1.14.3
libzip 1.6.1 -> 1.6.1_1
sqlite 3.31.1 -> 3.32.1

Si tienes necesidades más complejas o quieres estar atento a las actualizaciones antes de instalarlas, hay un montón de banderas de características disponibles. Por ejemplo, -n ofrece un «ensayo general» que lista las actualizaciones disponibles sin instalarlas. También puede «pinchar» una versión de la aplicación para evitar las actualizaciones.

Copia de seguridad de su instalación con Homebrew

Ninite virus

La utilidad de la línea de comandos y la gestión de la aplicación salta a un nivel completamente nuevo cuando las herramientas le permiten hacer una copia de seguridad de su instalación como cualquier otro archivo de puntos en el control de versiones. Homebrew tiene esa clase de funcionalidad disponible para usarla bajo el subcomando de volcado. Genera un Brewfile, que es una lista reutilizable de todas las herramientas instaladas actualmente. Para generar uno de tu instalación, ve a tu carpeta preferida y ejecuta:

$ cd ~/Desarrollo/archivos de puntos # Esta es mi carpeta de archivos de puntos
$ brew bundle dump

Cuando cambio de máquina y quiero instalar las mismas aplicaciones con Homebrew, voy a la carpeta con el Brewfile y corro:

$ paquete de cerveza

Instalará todas las fórmulas y barriles de la lista en mi nueva máquina.

Opiniones y conclusiones de Homebrew

Niniteros web

Homebrew es mi gestor de utilidades y aplicaciones de línea de comando preferido para MacOs. Me mantiene organizado y actualizado, y su diseño es un hermoso equilibrio entre facilidad de uso y profundidad de funcionalidad. Homebrew minimiza los detalles de administración de paquetes a sólo lo que necesitas saber, y la mayoría de los usuarios se beneficiarán de eso.

Si ya te sientes cómodo con los administradores de paquetes de Linux, puedes pensar que Homebrew es demasiado simple, pero no confundas la facilidad de uso de Homebrew con la falta de características. Mirando un poco más profundo se revelan muchas opciones avanzadas que van mucho más allá de lo que te mostré aquí.

Agregar -h a cualquier subcomando de brew muestra las ricas características disponibles para actualizar, remover, solucionar problemas e incluso contribuir con nuevas fórmulas usando plantillas.

En general, Homebrew hace que sea un placer ser un usuario de Mac en la línea de mando. Además, es de código abierto, así que puedes contribuir al código si te apetece. Inténtalo, y hazme saber lo que piensas dejando un comentario abajo.

¡Esperamos que os haya sido de utilidad!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *