Ruby On Rails

Instalação do Ruby 1.9.3 sem RVM ou Rbenv no Ubuntu 12.04

Muitas pessoas acabam se frustrando com a instalação do Ruby / Rails quando utilizam o RVM ou o Rbenv, e principalmente na utilização desses dois para uma máquina em produção.

O motivo principal das muitas dores de cabeça é que ambas soluções funcionam alterando variáveis de ambiente da sua shell para disponibilizar algo que o sistema operacional deveria estar fazendo nativamente.

Existem situações em que usar o RVM, principalmente em ambiente de desenvolvimento é desejável, permitindo trocar de versões rapidamente e testar o código, patches de seguranças. Este artigo não quer desmerecer os usos válidos do RVM, mas se ele está te dando dores de cabeça, talvez uma solução mais simples seja o caso.

A solução proposta aqui é utilizar os padrões que o Ubuntu / Debian definiram, ou seja: Debian Packages para instalar o ruby e Update Alternatives (links simbólicos) para trocar entre as versões de ruby disponíveis.

A instalação é composta de alguns poucos comandos. Se você estiver utilizando um ubuntu server, existe um pacote adicional que precisa ser instalado, pois o mesmo não vem instalado por padrão:

sudo apt-get install python-software-properties

Para Ubuntu 12.10+ utilize o comando abaixo:

sudo apt-get install software-properties-common

O comando acima disponibiliza o “add-apt-repository“.

Para prosseguir com a instalação, vamos adicionar um ppa mantido pela Brightbox, uma empresa de hosting especializada em Ruby, do Reino Unido, e realizar a instalação dos pacotes necessários:

sudo apt-add-repository ppa:brightbox/ruby-ng 
sudo apt-get update 
sudo apt-get install build-essential ruby rubygems ruby-switch

Os comandos acima, instalam a versão mais atualizada do ruby 1.8.7 e o comando “ruby-switch” que será responsável por trocar a versão do ruby sendo utilizada no momento, da mesma forma como o RVM e o Rbenv fazem.

Para instalar a versão 1.9.3, você deve rodar o comando a seguir (note que 1.9.1 é um padrão de numeração de versão utilizada pelo Debian, mas acredite, estamos instalando a 1.9.3)

sudo apt-get install ruby1.9.1-full

E por fim, para alterar entre as versões:

sudo ruby-switch --set ruby1.9.1
sudo ruby-switch --set ruby1.8

 Bonus: ao utilizar a versão 1.9.3 disponibilizada pela Brightbox, você estará utilizando uma versão otimizada da mesma, que inclui entre outras coisas, as seguintes modificações:

Este ultimo é o meu favorito, quem ainda não leu o artigo linkado acima, deveria. O novo garbage colector da 2.0 em um resumo simplista, vai economizar muita memória no servidor em comparação com a versão 1.9.3, no entanto, graças a esse backport, você ganha a mesma melhoria já na 1.9.3

Atualizado 23/05/2013: Fiz alguns ajustes no artigo para incluir correções necessárias para funcionar também no Ubuntu 12.10+. Agora sugiro instalar o pacote “ruby-1.9.1-full” que resolverá a falta do “mkmf”que algumas gems necessitam.

Mais artigos que podem te interessar

Padrão

Um comentário em “Instalação do Ruby 1.9.3 sem RVM ou Rbenv no Ubuntu 12.04

  1. Pingback: Instalação do Nginx + Passenger no Ubuntu 12.04 via apt-get | Gabriel Mazetto (BrodocK)

Os comentários estão desativados.