Semana passada, mais uma vez, tive a curiosidade e coragem de preparar o ambiente de desenvolvimento Rails no Ubuntu (no meu caso, o 10.04). Após muita pesquisa, acatei o melhor de cada dica e decidi preparar e compartilhar os passos que tomei para ter um ambiente redondo.
Teremos ao final um ambiente com Ruby 1.9.1 + Rails 2.3.8 + RubyGems 1.3.7 + SQLite3/MySQL/PostgreSQL instalados e pronto para desenvolvimento. Vamos lá então!
[update 20/05/10 às 10:31]
Até ontem, eu pensei que a instalação do RubyGems instalado via source juntamente com o Ruby instalado via apt-get estava correto. De fato, está. Porém, após muita dor de cabeça percebi que ao instalar o Ruby via apt-get ele não reconhece os PATHS de ambiente utilizados pelo RubyGems. O problema é que diante do Rails, o ambiente parecia estar funcionando corretamente.
Como percebi? Simples, fui instalar a gem do Sinatra e ela simplesmente não era encontrada. Achei estranho e fui mais além, foi aí que instalei uma lib (libsinatra-ruby1.9.1) e tudo funcionou. Ou seja, quem estava fazendo o papel do RubyGems eram essas libs e não a própria.
Era tão visível isso, mas acabei me dando conta somente agora. Por exemplo, pra usar o sqlite3 precisava instalar além do mesmo, duas libs (libsqlite3-dev libsqlite3-ruby1.9.1), mas em um ambiente redondo isso não seria necessário. Por que? Porque na verdade quem está fazendo o papel da gem não é de fato ela, mas sim essas duas libs que foram instaladas.
DICA: Jamais misture uma app instalada via gerenciador de pacotes com algum plugin/feature que é instalado via source. A probabilidade de acontecer alguma merda é alta, a não ser que você esteja sabendo bem onde esteja pisando; o que não foi meu caso.
Peço desculpas aos que acreditaram fielmente que isso daqui estava, de fato, 100% correto. Iremos instalar os pré-requisitos via apt-get e o Ruby + RubyGems via source. Sem mais dores de cabeça! 
[/update]
Leia o resto deste post »