Este artigo é um tutorial para instalar o Ruby no Fedora 27 e 28 através do rbenv em conjunto com alguns de seus plugins.

Instalar o Ruby dos pacotes fornecidos oficialmente pelo Fedora não é uma solução muito boa na minha opinião, visto que geralmente esses pacotes não são atualizados na mesma velocidade de lançamento de novas versões do Ruby, outra questão é que em muitos casos é necessário trabalhar simultaneamente com versões distintas do Ruby, como solução podemos utilizar o rbenv para instalar e gerenciar as versões do Ruby.

Instalar as dependências

Primeiramente é necessário instalar as dependências.

sudo dnf install -y git gcc-c++ bzip2 openssl-devel libyaml-devel \
  libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel

Instalar o rbenv

Todos os comandos não devem ser executados como super usuário.

Utilizaremos o Git para clonar o rbenv para o diretório padrão de instalação.

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

Opcionalmente você pode executar o comando abaixo para melhorar a performance do rbenv, não se preocupe se algo falhar, tudo continuará funcionando normalmente, apenas avance para o próximo passo.

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

Instalar plugins no rbenv

O rbenv possui diversos plugins que facilitam o seu uso, dentre eles selecionei 2 que são indispensáveis na minha opinião, os quais podem ser instalados seguindo o guia abaixo, é possível encontrar mais plugins aqui.

Instalar o ruby-build

O ruby-build automatiza a instalação do Ruby, é possível utilizá-lo separadamente ou em conjunto com o rbenv de modo transparente.

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

Instalar o rbenv-default-gems

O rbenv-default-gems instala automaticamente as gems definidas no arquivo ~/.rbenv/plugins/rbenv-default-gems sempre que uma nova versão do Ruby for instalada.

git clone https://github.com/rbenv/rbenv-default-gems.git ~/.rbenv/plugins/rbenv-default-gems

Configurar o rbenv no Shell

Com o rbenv e plugins instalados, agora é necessário incluí-lo no $PATH e em seguida integrá-lo com o shell, caso você não utilize o bash como shell, você deve alterar o ~/.bashrc para o arquivo que é lido pelo seu shell no início da sessão, como por exemplo no caso do zsh seria preciso substituir ~/.bashrc por ~/.zshrc.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Agora reinicie a sessão com shell, para isso feche e em seguida abra o seu terminal, ou execute o comando abaixo, lembrando que o comando funciona apenas para o bash.

source ~/.bashrc

Instalar o Ruby

Iremos instalar a versão 2.5.1, pois no momento da escrita deste artigo é a versão estável mais recente, esta etapa poderá demorar alguns minutos, então aguarde pacientemente o download e instalação.

rbenv install 2.5.1

O Ruby foi instalado, agora é preciso utilizar o rbenv para definir qual versão do Ruby queremos utilizar, podemos definir uma versão global e/ou definir versões específicas para os diretórios que desejarmos.

Para definir a versão 2.5.1 como global, execute.

rbenv global 2.5.1

Para utilizar a versão 2.5.1 em um diretório específico independente da versão definida globalmente, dentro do diretório desejado execute.

rbenv local 2.5.1

O comando acima irá criar o arquivo oculto .ruby-version contendo a versão do Ruby que deve ser utilizada neste diretório e em seus subdiretórios, ao identificar este arquivo o rbenv irá ignorar a versão definida como global e automaticamente irá alterar a versão do Ruby para a versão definida no arquivo.

Em ambos os casos, primeiramente é preciso instalar a versão do Ruby desejada, pois os comandos global e local apenas alteram a versão em uso, eles não realizam a instalação.

Para saber qual versão do Ruby está em uso, execute.

ruby --version

Com isso chegamos ao fim deste tutorial, agora seu Fedora é capaz de suportar várias versões do Ruby simultaneamente.

Fontes