Entonces quieres aprender a programar pero todos tus amigos te dicen que no lo vas a poder hacer en tu Mac, que necesitas Windows o Linux. Pero Windows no te gusta y aunque fue divertido instalar Linux la verdad es que preferirías usar macOS. A lo que tus amigos se refieren es que te va ser difícil instalar las cosas que necesitas, o que tal o cual herramienta de desarrollo no es tan fácil de manejar en macOS. Pero en realidad lo que tu necesitas es Homebrew y hoy lo vamos a instalar [ Musiquita cool de intro ]
¿Qué es Homebrew?
Es The missing package manager for macOS … o en su traducción horrible El gestor de paquetes para macOS que faltaba. Eso quiere decir que es una herramienta que puedes utilizar para instalar programas. En cierto sentido es similar al App Store, pero en la consola y más cool porque Software Libre.
Okey okey… pero ¿Qué es Homebrew?
Cuando empiezas a programar te das cuenta que necesitas dependencias. A veces necesitas instalar una versión de un lenguaje que Apple no instaló por default, por ejemplo Python 3.
A veces necesitas una librería porque la que viene macOS no es compatible con nada, como OpenSSL.
A veces quieres utilizar herramientas que viste en Stack Overflow pero te das cuenta que aunque la tienes instalada, parece que en realidad no es la misma, como gnu-sed.
Homebrew te ayuda a instalar y manejar todas estas cosas. Instalar es eso, instalar. Manejar quiere decir controlar que version estas utilizando, cómo la ve tu sistema y poderte mover entre versiones diferentes.
¿Cómo empiezo?
Empieza con abrir la terminal! Y utilízala todas las veces que puedas hasta sentirte cómodo, va a ser tu mejor herramienta cuando aprendas a programar.
Una vez que tengas abierta la terminal instala Homebrew escribiendo este comando. Lo puedes copiar y pegar. Aunque como recomendación general nunca copies y pegues cosas que no entiendes en tu terminal.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
En algún momento te va a pedir tu password, cuando haya terminado la instalación, listo! Ya tienes homebrew.
Este comando descarga un script de ruby y lo ejecuta. Lo descarga con esta parte $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
. y lo ejecuta con /usr/bin/ruby -e
Puedes revisar el script que se ejecuta visitando ese link!
Instalando dependencias
Y ahora qué? Te voy a enseñar cosas que yo tengo instaladas con Homebrew (y se queda como ejercicio de casa buscar para que sirve cada una :laughing:) Después vamos a instalar Python y Git, y finalmente te voy a mostrar algunos comandos simples de Homebrew.
Cómo puedes ver, tengo muchas cosas instaladas sobre todo librerías de C (que empiezan generalmente con el prefijo lib
). También tengo instaladas algunas cosas para las que podrías utilizar un instalador, cómo Docker (después podemos hablar de Docker) MongoDB y Wine; porque a veces es más fácil manejarlas mediante un administrador de dependencias.
Instalando Python y Git
No voy a discutir mucho sobre Python o Git en este post, pero son herramientas que probablemente encuentres muy útil en tu camino de aprender a programar.
Para instalar Python primero vamos a hacer una búsqueda para asegurarnos de que estamos instalando la versión que queremos. Para eso podemos correr:
brew search python
Y si, aunque se llama Homebrew el comando se llama brew
… porque es más corto supongo.
Cómo puedes ver hay muchas cosas que aparecen con el nombre Python. Nosotros queremos el paquete python
a secas porque esa es la versión más reciente, la 3.7.0
pero podemos asegurarnos con el comando:
brew info python
Además de ver la versión, nos muestra qué va a instalar e incluso las dependencias que tiene Python. Estas dependencias se instalarán automáticamente. Para instalarlo corre el comando:
brew install python
Podemos repetir todo el proceso con Git:
brew search git
brew info git
brew install git
Y si por alguna razón quisieras desinstalar cualquiera de estas cosas
brew uninstall python
brew uninstall git
Una nota más sobre la instalación. Es importante que cuando instalas algo te fijes si hay una sección de “Caveats”. Esa sección te dará información sobre pasos adicionales que puedes tomar para integrar mejor tu dependencia al sistema. O notas sobre cómo utilizar lo que acabas de instalar
Actualizando y desinstalando dependencias
La última ventaja de utilizar Homebrew es que es muy fácil mantener tus dependencias actualizadas. Solo utiliza el comando
brew upgrade
¿Puedo instalar Google Chrome con Homebrew?
Si! Homebrew por default instala proyectos open source, pero hay taps. Un tap es una lista de dependencias que puedes instalar. Por default tienes homebrew/core
y si activas homebrew/cask
puedes instalar cosas como Google Chrome, Atom.io, o incluso Steam!!
A estos paquetes muchas veces se les llama “binarios” y Cask tiene muchos de ellos para elegir.
Para activarlo solo corre este comando:
brew tap caskroom/cask
Y para instalar Steam y chrome
brew cask install steam
brew cask install google-chrome
Nota que todo lo que sea parte de Casks lo tienes que instalar con brew cask install
si no te vas a encontrar con un error.
¿Y qué es MacPorts?
MacPorts es un proyecto bastante viejo del cual Homebrew tomó mucha inspiración. No es la cosa más fácil del mundo de instalar y tampoco de utilizar.
Entonces ¿por qué la mencionas?
Porque si buscas mac dependency manager
todavía te puede salir MacPorts y aunque no tiene nada de malo si lo encuentras y te gusta, tampoco creo que sea el mejor lugar por dónde comenzar.
¿Qué sigue?
Puedes buscar más comandos de Homebrew en la documentación https://docs.brew.sh/Manpage como list
y doctor
que son comandos muy útiles. Y en algún momento hasta podrías hacer tu propio paquete que se instala mediante Homebrew. Pero lo que sigue en realidad es programar!
Anya es actuaria, nuestra CRO, y ha pasado los últimos años llevando su conocimiento de datos e investigación de operaciones al Software y al Diseño. Está obsesionada con los juegos de mesa, su diseño y sus mecánicas. También colecciona sistemas de juegos de rol que jamás juega. Cree que Nolan’s Batman is overrated y va a pasar horas hablando de eso si se lo permiten.
SCRUM | Design [Sprint] Thinking | Python | Fate Core | PbtA | 35 mm
Anya es actuaria, nuestra CRO, y ha pasado los últimos años llevando su conocimiento de datos e investigación de operaciones al Software y al Diseño. Está obsesionada con los juegos de mesa, su diseño y sus mecánicas. También colecciona sistemas de juegos de rol que jamás juega. Cree que Nolan’s Batman is overrated y va a pasar horas hablando de eso si se lo permiten.
SCRUM | Design [Sprint] Thinking | Python | Fate Core | PbtA | 35 mm