Configurando Ambiente Ruby on Rails 3.2 no Ubuntu

Bem, ontem [26-01-2012] estava a instalar e configurar os PCs do laboratório de computação da Universidade Estadual do Piauí - UESPI, onde ministrarei na próxima semana um curso de 15h de Ruby on Rails em um evento chamado Oficinas de Verão.
Para minha surpresa me deparei com o versão do rails 3.2, então resolvi criar esse breve passo a passo para uma configuração simples é sem surpresas.

-----------------------------------------------------------------------------------------------------------------------------------
Primeiro passo - Preparar o Ubuntu

sudo apt-get update
sudo apt-get install build-essential libssl-dev libreadline5-dev zlib1g-dev git-core curl node  

A primeira linha apenas atualiza os repositórios do Ubuntu. A segunda instala os pré-requisitos para o correto funcionamento do Ruby, pacotes estes que em geral tive muitos problemas ao longo da minha história com o Ruby: OpenSSL, Readline e Zlib. O Último pacote é referente a um problema do Rails 3.2 com engines Javascripts, e instalando o modulo node, isso passara despercebido.

Ps:. Se você é um usuário Node.js, não precisa instalar o pacote node!!!


Segundo passo - Instalar o Ruby

Se caso você tenha instalado o Ruby via código fonte:

Recomendo fortemente que siga os passos a segui para remover o ruby da sua máquina, pois é muito mais fácil administrar o ruby e suas versões utilizando o RVM (Ruby Version Manage), isso é importante quando se trabalha com Rails pelo simples fato que a gem Rails evolui constantente, e uma ocasião ou outra a versão mais estável ou caso você precise trabalhar com projetos com versões antigas do Rails, elas só funciona corretamente com uma determinada versão do
Ruby, então o RVM é a melhor opção.

O primeiro comando é apenas para ter certeza da localização dos arquivos do Ruby

whereis ruby  

No geral esses arquivos estarão nos diretórios que correspondem ao segundo comando, que está justamente removendo eles da sua maquina.

sudo rm -rf /usr/local/lib/ruby
sudo rm -rf /usr/lib/ruby
sudo rm -f /usr/local/bin/ruby
sudo rm -f /usr/bin/ruby
sudo rm -f /usr/local/bin/irb
sudo rm -f /usr/bin/irb
sudo rm -f /usr/local/bin/gem
sudo rm -f /usr/bin/gem 

Caso você não tenha o Ruby instalado na sua maquina:

RVM

Com o  git-core e o  curl instalado você já está pronto para baixar e configurar o RVM,.

cd ~
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

O legal é que ele instala o Ruby na nossa HOME, o que proporciona um ambiente seguro só nosso.

Após issoprecisar adicionar uma linha ao arquivo ~/.bashrc (arquivo responsável pela criação de nossa sessão de bash) que irá carregar RVM:


echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc 

Depois precisamos recarregar o bash ~/.bashrc você pode fechar e abrir o terminal novamente, ou para isso:

. ~/.bashrc

O próximo comando servirá para dizer quais dependências ainda são necessárias para o funcionamento do Ruby

rvm requirements

No nosso caso o Ruby HEAD, a minha resposta foi a seguinte

# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev 
curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev 
sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool 
bison subversion

Como foi sugerido, o próximo comando para instalar as dependências será:


sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core 
zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev 
libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion


Neste ponto o RVM já está pronto, agora enfim vamos instalar o ruby.

Ruby
Como para o Rails 3.2 a versão do Ruby deve ser a 1.9.3, então tudo que temos que fazzer para instalar o Ruby será o usar o seguinte comando do rvm:

rvm install 1.9.3

Caso você queira usar uma outra versão do Ruby, basta trocar o 1.9.3 por o número correspondente da versão desejada.

O comando passado apenas instalou aquela versão do Ruby, então você tem duas opções, a primeira é:

rvm use 1.9.3
Para certificar-se que deu tudo certo, execute:

ruby -v

E verá:

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]

O problema dessa primeira opção é que toda as vezes que for usar o Ruby, você dever rodar o comando "rvm use 1.9.3", então a segunda opção é:

rvm --default use 1.9.3
Agora, por padrão o seu Ruby já está configurado na versão 1.9.3!

O Ruby será instalado.

Terceiro passo - Instalar o Rubygems


Não há mais a necessidade de instalar o Rubygems.

GEMs estão para o ruby assim como os EGGs estão para o Python os JARs estão para o Java ou as LIBs estão para o C. São plugins que auxiliam na programação com o ruby. Então, vá ao site oficial que gerencia essas gems: Rubygems Oficial
Baixe a versão mais recente, que é a 1.8.15 [HOJE 26-01-2012]: rubygems-1.8.15.tgz.
Baixe o arquivo para uma pasta de sua preferência, descompacte e instale, como exibido nas linhas abaixo.


sudo tar -xvf rubygems-1.8.15.tgz
sudo cd rubygems-1.8.15
sudo ruby setup.rb  

Quarto passo - Instalar o Rails

Rails é uma GEM Ruby como qualquer outra, e é instalada igualmente as demais. Rails é uma GEM destinada ao desenvolvimento WEB fácil e ágil, pacote conhecido como FrameWork. Para instalar basta executar este simples comando.

sudo gem install rails  

Quinto passo - Escolher, Instalar e Configurar seu Banco de Dados

Mostrarei como instalar e configurar três dos mais populares SGBD existentes no mercado.

Opção 1: SQLite3 (Padrão do Rails)

Instalação do SQLite3, as libs necessárias para instalar e trabalhar com este SGBD, que é o utilizado por padrão nas aplicações Rails, execute a linha 1, e em seguida instale a GEM necessário para trabalhar com ele usando Ruby.

sudo apt-get install sqlite3 libsqlite3-dev
sudo gem install sqlite3-ruby  

Opção 2: MySQL (Minha escolha)

Para instalar o servidor e cliente do MySQL, bem com as libs necessária seu devido funcionamento execute a linha 1. Em seguida instale a GEM necessária para trabalhar com este SGBD usando Ruby.

sudo apt-get install mysql-server-5.1 mysql-client-5.1 libmysqlclient-dev
sudo gem install mysql  

Dica: Path do socket Mysql correto: socket: '/var/run/mysqld/mysqld.sock'

Opção 3: PostgreSQL (Nunca vi ninguém usando)

Para instalar o servidor e cliente do PostgreSQL, bem com as libs necessária seu devido funcionamento execute a linha 1. Em seguida instale a GEM necessária para trabalhar com este SGBD usando Ruby.

sudo apt-get install postgresql-8.4 postgresql-server-dev-8.4
sudo gem install pg  

Sexto passo - Criando sua primeira APP Rails

É hora de criar seu primeiro projeto, e com seu banco de dados preferido.

Para SQLite3 (Padrão)

rails minha_app   

Para MySQL

rails minha_app -d mysql   


Para PostgreSQL

rails minha_app -d postgres

----------------------------------------------------------------------------------------------------------------------------------
Configurando Ambiente Ruby on Rails 3.2 no Ubuntu Configurando Ambiente Ruby on Rails 3.2 no Ubuntu Reviewed by AJ Alves on sexta-feira, janeiro 27, 2012 Rating: 5

2 comentários:

Anônimo disse...

Cara, não é por nada, mas PostgreSQL é nativo do Rails, então funciona melhor do que qualquer outro com Rails...tanto que até o Heroku é nativo PG

AJ Alves disse...

Olá, receio discordar. O banco nativo do Rails é o SQLite. E o Heroku usa o PostgreSQL por ele ser free, sem licensa comercial alguma.

Mas meu infeliz comentário, não era com o intuito de gerar confuzão ou dizer que o PostgreSQL não presta. Pelo contrário, nos mini-cursos ou workshop que ministro, eu o recomendo. Mas é que todo mundo "geralmente" já usa o MySQL e tem rejeição por outros.

Mas o legal é que logo logo, teremos que usar o MariaDB, porque o MySQL vai passou a ter apenas licensa com "fee".

Tecnologia do Blogger.