Instalar Ruby com rbenv no Fedora 27 e 28
Conteúdo do post.
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.