Explicamos paso a paso cómo instalar Ruby en un equipo con el sistema operativo Linux CentOS 7 Minimal. Lo haremos mediante rbenv y crearemos nuestra primera aplicación Ruby «Hola mundo».

Requisitos previos para instalar Ruby en Linux CentOS 7

Necesitaremos un equipo o máquina virtual con el sistema operativo Linux CentOS 7 Minimal. Dicho equipo deberá disponer de conexión a Internet.

Instalaremos los paquetes requeridos por Ruby, para su correcto funcionamiento. Para ello usaremos los siguientes comandos Linux:

sudo yum install -y epel-release

El comando anterior es necesario para la instalación posterior de nodejs.

Ejecutaremos también el siguiente comando (es un único comando, en una única línea):

yum install -y autoconf automake bison bzip2 curl gcc-c++ git libffi-devel libtool libyaml-devel make nodejs openssl-devel patch readline readline-devel sqlite-devel zlib zlib-devel

Puede que algunos paquetes ya estén instalados en el sistema, en ese caso mostrará:

El paquete autoconf-2.69-11.el7.noarch ya se encuentra instalado con su versión más reciente
El paquete automake-1.13.4-3.el7.noarch ya se encuentra instalado con su versión más reciente
El paquete 1:make-3.82-23.el7.x86_64 ya se encuentra instalado con su versión más reciente
El paquete readline-6.2-10.el7.x86_64 ya se encuentra instalado con su versión más reciente

Para la instalación de Ruby usando rbenv hay que «preparar» previamente el entorno Linux, para ello ejecutaremos los siguientes comandos, siguiendo el orden correcto:

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

cd ~/.rbenv && src/configure && make -C src && cd ~

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

echo ‘export PATH=»$HOME/.rbenv/bin:$PATH»‘ >> ~/.bashrc

echo ‘eval «$(rbenv init -)»‘ >> ~/.bashrc

source ~/.bashrc

Con los comandos anteriores el entorno Linux CentOS 7 quedará listo para poder instalar Ruby, como veremos en el siguiente punto.

Instalar Ruby en Linux CentOS 7

Para instalar Ruby, una vez instalados los paquetes dependientes y preparado el entorno para rbenv ejecutaremos el siguiente comando:

rbenv install 2.5.1 && rbenv global 2.5.1

Hay que tener en cuenta que el comando anterior puede tardar varios minutos en finalizar, mostrará el mensaje:

Installing ruby-2.5.1…

Una vez finalizada la instalación de Ruby mostrará el mensaje:

Installed ruby-2.5.1 to /root/.rbenv/versions/2.5.1

Y ya tendremos Ruby listo para su uso en nuestra máquina.

Una vez finalizada la instalación podremos consultar la versión de Ruby ejecutando:

ruby -v

Nos devolverá algo así:

ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

Instalar Ruby en Linux CentOS 7

Mi primera aplicación Ruby Hola Mundo

Para desarrollar una aplicación Ruby, como es lógico, lo más eficiente es trabajar con algún IDE de desarrollo, como Eclipse. En este caso, puesto que no es objeto del artículo, desarrollaremos una simple aplicación que muestre «Hola mundo» por pantalla. Dado que estamos trabajando en un equipo Linux CentOS Minimal sin modo gráfico no podremos usar un IDE de desarrollo avanzado, por lo que simplemente crearemos un fichero de texto con el código Ruby necesario y luego lo compilaremos.

Abriremos el editor nano para crear nuestro fichero de texto con el código Ruby de nuestra primera aplicación «Hola mundo»:

nano /proyectos/ruby/HolaMundo.rb

Escribiremos el siguiente código en el fichero:

miVariable = ‘Hola mundo’
puts miVariable

Mi primera aplicación Ruby Hola Mundo

Guardaremos los cambios pulsando Control + O y cerraremos pulsando Control + X. Para compilar el fichero ejecutaremos:

ruby HolaMundo.rb

Nos devolverá el resultado de nuestra primera aplicación Ruby:

Mi primera aplicación Ruby Hola Mundo

Ruby también permite ejecutar código en su propia línea de comandos, para ello ejecutaremos:

irb

Y en la línea de comandos escribiremos:

miVariable = «Hola mundo»
puts miVariable

Mi primera aplicación Ruby Hola Mundo

Anexo

Parte del resultado que devuelve cada comando ejecutado en la consola Linux CentOS:

[root@srvweb]# git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Cloning into ‘/root/.rbenv’…
remote: Enumerating objects: 2744, done.
remote: Total 2744 (delta 0), reused 0 (delta 0), pack-reused 2744
Receiving objects: 100% (2744/2744), 523.32 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1720/1720), done.
[root@srvweb]# cd ~/.rbenv && src/configure && make -C src && cd ~
make: se ingresa al directorio
/root/.rbenv/src' gcc -fPIC -c -o realpath.o realpath.c gcc -shared -Wl,-soname,../libexec/rbenv-realpath.dylib -o ../libexec/rbenv-realpath.dylib realpath.o make: se sale del directorio/root/.rbenv/src’
[root@srvweb ~]# git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Cloning into ‘/root/.rbenv/plugins/ruby-build’…
remote: Enumerating objects: 51, done.
remote: Counting objects: 100% (51/51), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 9642 (delta 19), reused 43 (delta 11), pack-reused 9591
Receiving objects: 100% (9642/9642), 2.03 MiB | 1.88 MiB/s, done.
Resolving deltas: 100% (6286/6286), done.
[root@srvweb ~]# echo ‘export PATH=»$HOME/.rbenv/bin:$PATH»‘ >> ~/.bashrc
[root@srvweb ~]# echo ‘eval «$(rbenv init -)»‘ >> ~/.bashrc
[root@srvweb ~]# source ~/.bashrc
[root@srvweb ~]# rbenv install 2.5.1 && rbenv global 2.5.1
Downloading ruby-2.5.1.tar.bz2…
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.bz2
Installing ruby-2.5.1…
Installed ruby-2.5.1 to /root/.rbenv/versions/2.5.1