DEV Community

Cover image for Instalacion en Ubuntu de Homebrew y asdf (Gestor de Versiones Múltilenguaje)
Pablo Javier Jimenez
Pablo Javier Jimenez

Posted on

Instalacion en Ubuntu de Homebrew y asdf (Gestor de Versiones Múltilenguaje)

Links


🍺 Homebrew en Ubuntu

Homebrew es un gestor de paquetes de línea de comandos gratuito y de código abierto diseñado para macOS (y también Linux, bajo el nombre de Linuxbrew o Homebrew on Linux). Su propósito principal es simplificar la instalación y administración de software que Apple no incluye de forma nativa.

  • ¿Para qué sirve? Te permite instalar miles de utilidades, herramientas de desarrollo (como Git, Node.js, Python), y otras aplicaciones con comandos simples como brew install <paquete>. En esencia, facilita a los desarrolladores y usuarios avanzados obtener el software que necesitan en su sistema sin tener que compilarlo manualmente o buscar instaladores individuales. Es como una "tienda de aplicaciones" para tu terminal.

📦 Instalación

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

# Añadir al PATH
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

# Instalar dependencias básicas
brew install gcc git
Enter fullscreen mode Exit fullscreen mode

🧰 Comandos útiles

brew install <pkg>
brew uninstall <pkg>
brew list
brew update
brew upgrade
brew search <nombre>
Enter fullscreen mode Exit fullscreen mode

🚀 ASDF - El Gestor de Versiones Múltiples

asdf es un gestor de versiones extensible y multifuncional de línea de comandos. A diferencia de otros gestores que se centran en un único lenguaje (como nvm para Node.js o rvm para Ruby), asdf utiliza un sistema de *plugins* para gestionar múltiples versiones de diferentes lenguajes de programación, runtimes y herramientas (como Node.js, Python, Ruby, Java, Elixir, etc.) de forma centralizada.

  • ¿Para qué sirve? Sirve para alternar fácilmente entre las versiones de las herramientas necesarias para diferentes proyectos. Por ejemplo, si un proyecto requiere Python 3.8 y otro necesita Python 3.11, asdf puede garantizar que el entorno correcto esté activo automáticamente para cada directorio de trabajo, lo que evita conflictos de dependencias y simplifica el mantenimiento de múltiples entornos de desarrollo.

📦 Instalación

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0

echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

🧰 Comandos útiles

asdf plugin add <lang>
asdf list-all <lang>
asdf install <lang> <version>
asdf global <lang> <version>
asdf local <lang> <version>
asdf uninstall <lang> <version>
Enter fullscreen mode Exit fullscreen mode

Ejemplo de uso con GO - Instalar plugin + versión

asdf plugin add golang https://github.com/asdf-community/asdf-golang.git

asdf install golang 1.22.4
asdf global golang 1.22.4
Enter fullscreen mode Exit fullscreen mode

Ejemplo de Archivo .tool-versions

# .tool-versions
golang 1.22.4
# Puedes añadir otras herramientas gestionadas por ASDF
php 8.2.12
nodejs 20.10.0
ruby 3.2.2
Enter fullscreen mode Exit fullscreen mode

nota del autor: Este es mi primer post desde... en la vida, aunque ando por esto de la programación desde 2013.
La idea detrás de esta serie de posts y de mi perfil en general es más traer aquí un montón de archivos markdown que tengo siempre dando vueltas en mi PC. Así que espero lo tomen como yo, como una guía para recordar cómo cuerno es que se hacía esto o aquello.

Y aunque sé que hoy es más fácil pedirle esto a una IA que venir a encontrarlo aquí, a veces la IA puede tener todas las respuestas, pero uno no tener las preguntas correctas.
En suma, a mí me sirve, y si a alguien más también, genial.
Para mí es un archivo markdown menos dando vueltas en mi PC, y eso ya es bastante 😁

Att: Oscar Pincho

Top comments (0)