Configurando um ambiente de desenvolvimento Ruby on Rails 3.02 no Ubuntu 12.04
Sempre que eu tenho que reconfigurar o meu ambiente de desenvolvimento Ruby on Rails acabo perdendo um tempão tentando me lembrar de tudo que eu tenho que fazer. Por isso achei interessante descrever esses passos aqui. Portanto, o que você encontrará aqui é uma receita de bolo bem específica. Se você quer saber o que é cada coisa que estamos instalando aqui, então saiba que você está no post errado.
O ambiente terá:
- Git
- Svn
- Gem
- Ruby
- RVM
- RSpec
- Rails
- Vim, SQLite3, cliente MySQL e outros
Todos os passos abaixo foram testados no Ubuntu 12.04. Se você estiver com dúvidas sobre a sua versão então experimente o comando abaixo:
$ lsb_release -a
Ok! Vamos colocar a mão na massa. Nosso primeiro passo é instalar a maioria das coisas que precisamos via apt-get. Segue abaixo a linha mágica que faz isso. Não esqueça do sudo, ok?
$ sudo apt-get install build-essential subversion git-core vim curl ruby ruby-dev rubygems rake irb zlib1g-dev libssl-dev libreadline-dev sqlite3 libsqlite3-dev nodejs libmysql-ruby libmysqlclient-dev
Com isso a gente já instalou o git, ruby, svn e o gem. Experimente:
$ git --version
git version 1.7.9.5
$ ruby --version
ruby 1.9.3
$ svn --version
svn, versão 1.6.17
$ gem --version
1.8.24
O Ubuntu não é fantástico? Fez o download de tudo e instalou tudo como mágica pra gente.
Agora é a vez do RVM:
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
O curl irá acessar a URL acima e baixará o script de instalação para o bash, que por sua vez irá executá-lo.
O RVM será instalado no seu diretório HOME. No meu caso o home é cezinha. Rode a linha abaixo substituindo cezinha pelo nome do seu usuário:
$ source /home/cezinha/.rvm/scripts/rvm
Experimente para ver se o RVM tá de pé:
$ rvm --version
rvm 1.14.6 (stable)
Antes você precisava instalar manualmente os pacotes no RVM conforme o exemplo abaixo, mas agora basta ativar o autolibs pra ele fazer tudo sozinho.
$ rvm autolibs enable
Não esqueça de colocar no seu .bashrc a linha abaixo para que o RVM sempre inicie quando o shell for aberto:
$ vi /home/meu_user_name/.bashrc
..
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
Prontinho! Agora estamos prontos para instalar o Ruby dentro do RVM. O Ruby que a gente instalou lá em cima era o do sistema operacional. Ele também é importante, mas falaremos sobre isso em uma outra oportunidade.
$ rvm install 1.9.3
O comando acima instalou o Ruby 1.9.3. Quer testar? Então experimente:
$ rvm use 1.9.3 do ruby --version
Caso você precise de uma outra versão do ruby, basta instalar. Por exemplo, vamos instalar a REE (Ruby Entreprise Edition):
$ rvm install ree
Difícil? Não né?! Use o comando abaixo pra você quantos rubies você tem agora no seu RVM:
$ rvm list
Note que o ruby 1.9.3 está como default. Pra fazer isso basta executar o comando abaixo:
$ rvm use 1.9.3 --default
Para comutar entre os ruby use:
$ rvm use ree
ou
$ rvm use 1.9.3
ou
$ rvm use system
Este último utilizará o ruby do sistema. Ei! Chega de explicações. Como disse anteriormente, este post não tem como objetivo ensinar a usar nada, ok? Apenas instalar.
Você pode ainda listar quais são as versões do Ruby que estão disponíveis para o download via RVM. Basta usar o comando abaixo:
$ rvm list known
Vamos instalar agora o Rails dentro do RVM para o Ruby 1.9.3.
$ rvm use 1.9.3
$ gem install rails
Aguarde um pouco até o processo terminar.
Teste agora o rails:
$ rails --version
Rails 3.2.6
Veja ainda que o Rails não foi instalado no REE:
$ rvm use ree
$ rails --version
O programa rails não está instalado no momento.
Pra evitar problemas, volte ao 1.9.3:
$ rvm use 1.9.3
E por último, mas não menos importante, vamos instalar o RSpec:
$ gem install rspec
$ gem install rspec-rails
Importante:
Não esqueça de adicionar as linhas abaixo no Gemfile do seu projeto Rails caso ainda não estejam:
group :test, :development do
gem "rspec-rails", "~> 2.4"
end
Nem disso (execute dentro do diretório do projeto):
$ rails generate rspec:install
Deixando tudo mais colorido…
Este passo não é tão importante, mas é bacana. Ele irá deixar o seu shell mais estilizado. Ele ficará colorido, mostrará a versão do ruby do RVM, mostrará o branch do git e o nome do diretório. Segue abaixo o que você deve colar em seu .bashrc:
..
ESC="\033" # This is the escape sequence
NO_COLOR="$ESC[0m"
IRED="$ESC[1;31m" # ANSI color code for intense/bold red
IGRN="$ESC[1;32m" # ANSI color code for intense/bold green
# From http://railstips.org/blog/archives/2009/02/02/bedazzle-your-bash-prompt-with-git-info/
# I had to change 'git-symbolic-ref' to 'git symbolic-ref'
function parse_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo " ["${ref#refs/heads/}"]" # I wanted my branch wrapped in [], use () or <> or whatever
}
# from http://ariejan.net/2010/04/25/ruby-version-and-gemset-in-your-bash-prompt-yes-sir
function rvm_version {
local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
[ "$gemset" != "" ] && gemset="@$gemset"
local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
[ "$version" != "" ] && version="$version"
local full="$version$gemset"
[ "$full" != "" ] && echo "${full}:" # the colon at the end is a delimiter, you could use a space instead
}
#PS1="\h:\W \u\$" # For reference, here's the default OS X prompt
#export PS1="\$(rvm_version)\W \$(parse_git_branch)\$ " # Without the colors
# I had to put the \[ and \] down here, as opposed to $IRED, to avoid wrapping funkiness.
export PS1="\[$IRED\]\$(rvm_version)\[$NO_COLOR\]\W\[$IGRN\]\$(parse_git_branch)\[$NO_COLOR\]\n \$ "
Você encontrará diversas versões deste script na web. Esta aí eu peguei do AkitaOnRails.
Pronto! Agora é só começar a trabalhar.
Espero que goste.