Instalar ruby con rvm

Ruby Version Manager (RVM) es una herramienta de línea de comandos que permite instalar diferentes versiones de ruby fácilmente.

Antes de empezar a instalar rvm, si se usa zsh se debe modificar el archivo ~/.zshrc de lo contrario mostrará un mensaje de error.

Antes:

export PATH="/usr/local/bin:/usr/bin:/bin:/..."

Después:

export PATH="$PATH:/usr/local/bin:/usr/bin:/..."

Instalar rvm

Para ello se usa curl

curl -sSL https://get.rvm.io | bash -s stable

Al final se verá un mensaje que pide modificar el archivo ~/.bash_profile.

Agregar la línea siguiente al final del archivo. [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

Quedando así:

#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

Para que la consola actual reconozca el comando rvm, hay que ejecutar la siguiente línea o cerrar la consola y abrir una nueva.

source ~/.bash_profile

Con esto ya esta instalado rvm, se puede verificar ejecutando el comando:

rvm -v

Instalar ruby

Se ejecuta:

source ~/.rvm/scripts/rvm

Instalar ruby usando rvm permite tener diferentes versiones, sin tener conflicto entre ellas.

rvm install ruby-2.2.3

Como usar rvm

Al tener instalado ruby usando rvm, se puede tener una configuración específica por proyecto, por ejemplo:

mkdir proyecto_uno && cd proyecto_uno
echo '2.2.3' > .ruby-version
echo 'proyecto_uno' > .ruby-gemset

Ahora si tiene un proyecto que está con ruby-2.2.2.

rvm install ruby-2.2.2
mkdir proyecto_dos && cd proyecto_dos
echo '2.2.2' > .ruby-version
echo 'proyecto_dos' > .ruby-gemset

Al momento de entrar al directorio del proyecto, se cargará la versión de ruby que está en el archivo .ruby-version y el .ruby-gemset del proyecto, de está manera resulta más fácil llevar el control de los proyectos con diferentes versiones de ruby, al igual que con las gemas, debido a que cada .ruby-gemset es independiente del otro, de manera que cada proyecto tiene sus propias gemas, cuando se trabaja con rails.

comments powered by Disqus