Instalação do Ruby 1.9.2-head: versão estável para o Rails 3.0.0beta3 usando o RVM

Com a chegada do Rails 3 e suas versões beta, eu gastei várias horas (na verdade foram dias) testando, buscando soluções no google, abri tickets, fiz perguntas em foruns para descobrir qual versão do Ruby roda com estabilidade com o Rails 3.0.0beta3.

O resultado foi que o Ruby versão 1.9.2-head roda bem com o Rails 3.0.0beta3.

As outras versões do Ruby (com excessão da 1.8.7) apresentavam problemas como os erros de “segmentation fault“.

Para registrar e compatilhar com a comunidade resolvi escrever este post.

Neste caso usei o RVM (Ruby Virtual Machine), um instalador e gerenciador de máquinas virtuais Ruby, que é também um gerenciador de sets de gems.

Vamos ao passo a passo:

Objetivo: Trabalhar com ambiente estável com o Rails 3.0.0beta3, RVM e Ruby 1.9.2-head:

  • Ruby 1.9.2-head
  • Rails 3.0.0.beta3
  • RVM

Pré-requisitos:

  1. Um computador com sistema operacional Mac OS X Snow Leopard (10.6.x) . Para saber a versão do sistema operacional, no seu Mac vá em “Aplicativos”, “Preferências do Sistema”, “Atualização de Software” e selecione a aba “Software Instalado”.
  2. Xcode instalado (Para instala-lo veja meu post).

Passos:

  1. Vamos instalar o RVM no ambiente principal, se você já não tem o mesmo instalado:
    • sudo gem install rvm
    • rvm-install
  2. No seu arquivo .bash_profile insira as seguintes linhas. Importante: tem que ser no final do arquivo:
  3.     if [[ -s $HOME/.rvm/scripts/rvm ]] ; then 
                source $HOME/.rvm/scripts/rvm
        fi
  4. Também no arquivo .bash_profile inclua o seguinte comando na variável PS1 para mudar o prompt de comando para que informe qual a versão do Ruby que está sendo usada:
    • `~/.rvm/bin/rvm-prompt`
  5. No meu caso, a linha para configuração do prompt ficou assim:
    • PS1='\n[\u]@\h \[33[1;33m\]`~/.rvm/bin/rvm-prompt` \w\a\[33[0m\]\n\d \t $ '
  6. Crie o arquivo .rvmrc com o conteúdo abaixo. Depois feche o seu Terminal e abra novamente para que as alterações no .bash_profile façam efeito:
    • rvm_archflags="-Os -arch x86_64 -fno-common"
  7. Se tudo está indo bem o comando abaixo irá mostrar o seu ambiente principal:
    • rvm list
  8. …e a tela será parecida com esta tela:
  9. A versão do Ruby que eu preciso é só a 1.9.2-head e o comando abaixo vai baixar o código fonte, compilar e configurar corretamente. Não instale usando o comando sudo. O RVM foi feito justamente para facilitar a instalação de gems e versões do ruby sem precisar de acesso administrativo ao sistema operacional.
    • rvm install 1.9.2-head -C --build=x86_64-apple-darwin10
  10. Vamos checar a tela:
    • rvm list
  11. Pronto, agora você tem dois ambientes. Agora mude para o ambiente do Ruby 1.9.2-head
    • rvm 1.9.2-head
    • ruby --version # mostra na tela: ruby 1.9.2dev (2010-04-23 trunk 27452) [x86_64-darwin10]
  12. Neste ambiente você ainda não tem as gems que estavam instaladas no ambiente principal. Veja:
    • gem list
  13. A seguir vamos criar um ambiente de gems para o Rails 3.0.0beta3. Este ambiente de gems (gem set) ficará isolado das gems de outras versões do Rails.:
    • rvm gemset create rails3beta   # mostra na tela: Gemset 'rails3beta' created.
  14. Vamos consultar os ambientes de gems (gem sets) agora:
    • rvm gemset list
    • # mostra na tela:
    • # gemsets : for ruby-1.9.2-head (found in /Users/sergiosouzalima/.rvm/gems/)
    • #   global
    • #   rails3beta
  15. Agora vamos tornar default nosso novo ambiente no RVM:
    • rvm 1.9.2-head@rails3beta
    • rvm --default rvm 1.9.2-head@rails3beta
  16. Em seguida instale as gems necessárias, inclusive o Rails 3:
    • gem install sqlite3-ruby
    • gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
    • gem install rails --pre
  17. Tudo pronto. Se tudo ocorreu normalmente você terá o Ruby 1.9.2-head instalado com o Rails 3.0.0beta3 e as gems mais importantes:
    • ruby --version # ruby 1.9.2dev (2010-04-23 trunk 27452) [x86_64-darwin10]
    • rails --version # Rails 3.0.0.beta3

Final Feliz 🙂  :

Se tudo deu certo você terá o Ruby 1.9.2-head instalado com o Rails 3.0.0beta3 e as gems mais importantes::

  • Ruby 1.9.2-head com Rails 3.0.0.beta3

Referências:

Resumo dos comandos:

rvm install 1.9.2-head -C --build=x86_64-apple-darwin10
rvm list
rvm 1.9.2-head
ruby --version
gem list
rvm gemset create rails3beta # Gemset 'rails3beta' created.
rvm gemset list
# gemsets : for ruby-1.9.2-head (found in /Users/sergiosouzalima/.rvm/gems/)
# global
# rails3beta
rvm 1.9.2-head@rails3beta
gem install sqlite3-ruby
gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
gem install rails --pre
ruby --version; rails --version
# ruby 1.9.2dev (2010-04-23 trunk 27452) [x86_64-darwin10]
# Rails 3.0.0.beta3

Anúncios

Um Comentário

  1. Parabéns, Parabéns, Parabéns, Parabéns…

    Post excelente cara, muito bom mesmo…continue assim, pois quanto mais passamos(repartilhamos) o nosso conhecimento, mais iremos busca-lo… e sendo assim, cresceremos mais ainda, tanto profissionalmente como em pessoa.

    Me ajudou muito.
    Desde já agradeço!


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s