Este post es parte de una serie de artículos que describen paso a paso mi setup personal, puedes ver la lista completa aquí
Ahora nos toca instalar ruby
, pero en algún momento necesitaremos movernos entre versiones, para que esa labor sea sencilla de realizar, voy a instalar un manejador de versiones de ruby
, en el mercado existen algunos:
A mi personalmente me gusta rbenv
por algunos argumentos que ponen en este artículo:
Manejadores de versiones para Ruby
Así que, vamos a instalarlo ejecutando el siguiente comando en nuestra terminal.
$ sudo apt install rbenv
luego ejecutamos un rbenv init
para constatar que se este iniciando correctamente en nuestra terminal y debería mostrarnos algo como esto:
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
El ~/.zshr
es la ruta donde se encuentra la hoja de configuraciones de nuestro zsh
(el shell que instalamos previamente).
Entonces, tendremos que agregar el comando que nos recomendó rbenv
, para eso será necesario abrirlo con un editor de texto, yo usare nano
, que es un editor de texto de la terminal, para poder abrir el archivo y adicionar el comando eval
$ nano ~/.zshrc
Y nos vamos hasta el final del archivo para agregar la sugerencia de rbenv
Luego salimos de la terminal con CTRL + X
y nos preguntara si queremos guardar los cambios, para eso escribimos Y
y luego Enter
, esto nos pondrá de vuelta en nuestra terminal, ahora, tendremos que ejecutar el comando source
sobre la ruta del archivo modificado, para registrar los cambios:
$ source ~/.zshrc
Y por si las dudas, usaremos la técnica milenaria de cerrar la terminal y volverlo ha abrir, para que estos cambios surtan efecto.
Luego para ver que todo este bien con nuestra instalación de rbenv
ejecutaremos el comando rbenv-doctor
, que es un script que escanea nuestro sistema para ver que la instalación de rbenv
esta correcta, para eso ejecutamos el siguiente comando:
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
Y tendremos un diagnóstico:
En nuestro caso tenemos un mensaje de error, sugiriendo que si a vamos a querer instalar varias versiones de ruby
tendremos que instalar manualmente el ruby-build
, que es un plugin de rbenv
.
Entonces es un problema del ruby-build
, si bien en la documentación mencionan que ruby-build
viene por defecto instalado, puede que aveces esto no suceda (como en nuestro caso), para solucionarlo tendremos que instalarlo manualmente, como vemos en su documentación.
GitHub - rbenv/ruby-build: Compile and install Ruby
En nuestro caso, rbenv
no creo la carpeta plugins
entonces para eso, primero crearemos la carpeta plugins
y dentro de él vamos a clonar el plugin, con los siguientes comandos:
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Después de instalarlo, debemos de ejecutar de nuevo el rbenv-doctor
y todo debería estar funcionando en este punto.
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
Una vez que pasamos la revisión de rbenv-doctor
vamos a instalar la versión que necesitemos y cargarlo como versión global del sistema.
$ rbenv install 3.1.0
$ rbenv global 3.1.0
Y listo! solo tenemos que cerrar la terminal y abrir una nueva (técnica milenaria), para comprobar que tenemos la versión correcta de ruby en nuestro entorno global, ejecutamos el siguiente comando:
$ ruby --version
ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux]
Y con esto ya podríamos ejecutar irb
(interprete interactivo de ruby), para eso usamos el siguiente comando:
$ irb
irb(main):001:0>
Trabajando con Gemas
Las gemas son la forma en que se distribuyen paquetes de código en Ruby
, usaremos el comando gem
para instalar gemas de ruby
, este comando se agrega a nuestro terminal justo después de instalar ruby.
Con esto instalaremos bundler
, que es una herramienta que gestiona las dependencias de nuestras gemas, que usaremos en nuestros futuros proyectos.
$ gem install bundler
Y finalmente instalamos rails
para que podamos crear proyectos con este framework más adelante.
$ gem install rails
El comando anterior instala la versión mas reciente de rails
. Si quisiéramos instalar un versión específica, tenemos que usar el siguiente comando:
$ gem install rails -v 4.2.7
Es posible que te topes con un error al levantar tu primero proyecto en rails
, este error esta relacionado a la gema que usa rails
para conectarse a PostgreSQL
, puedes ver como solucionarlo aquí
Y listo, ya tenemos configurado Ruby
y Ruby on Rails
en WSL - Ubuntu
🎉