Há um tempo atrás eu resolvi documentar a maneira na qual eu preparava o meio ambiente ruby no Ubuntu, pra tentar evitar de ficar horas e horas no Google achando como instalar as coisas.

Para quem quiser conhecer o post anterior aí está:

http://www.cezinha.info/2012/07/22/configurando-um-ambiente-de-desenvolvimento-ruby-on-rails-3-02-no-ubuntu-12-04/

E não é que deu certo? De lá pra cá eu tive que reinstalar algumas vezes o meu ambiente e não tive dores de cabeça com isso. E pelo número de acessos que eu tenho naquele post, eu acho que ele acabou sendo bastante útil pra outras pessoas também.

Pois bem, o objetivo deste post é o mesmo, porém em outro SO. O lance aqui é preparar um ambiente de desenvolvimento Ruby on Rails no Mac OS X.

Gostaria de enfatizar apenas que 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
  • Gem
  • Ruby
  • RVM
  • RSpec
  • Rails
  • Cliente/Servidor MySQL
  • Outros

Todos os passos abaixo foram testados no Mac OS X 10.8.4. Se você estiver com dúvidas sobre a sua versão então experimente o comando abaixo:

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.8.4
BuildVersion:	12E55

Instalar o XCode

Este passo é bem importante. Sem ele você não consegue usar o Homebrew e provavelmente não conseguirá compilar outras coisas. Acho que é o passo mais demorado. O download é de +/- 1.5GB (nesta data).

Você pode fazer a instalação facilmente via App Store. É grátis.

Depois de instalado você precisa também instalar as “Command line tools”. Pra isso siga os passos abaixo:

a. Abra o Lauchpad;
b. Localize e abra o Xcode;
c. Acione command-virgula pra abrir as configurações do Xcode;
d. Vá na guia Downloads;
e. Mande instalar as “Command line tools” (aff… mais 120MB preciosos do meu SSD).

Eu achei isso uma derrota! Demorou uma eternidade. Seria ideal fazer isso tudo com uma linha de comando e se possível com menos espaço em disco. É provável que eu recebi um monte de porcaria que nunca irei utilizar.

Homebrew

Infelizmente o OS X não possui um gerenciador de pacotes padrão como o apt-get do Ubuntu. Mas, existe uma boa alternativa chamada Homebrew. Pela pouca experiência que eu tenho neste SO, me parece ser a solução mais adotada. E o melhor: ele é feito em Ruby :-) .

Para instalá-lo basta executar a linha abaixo:

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Você poderá conhecer mais sobre o Homebrew no site abaixo:
http://brew.sh/index_pt-br.html

Git

Hoje em dia não tem mais como trabalhar sem o git, né? Então aí vai:

$ brew install git
$ git --version
git version 1.8.3.4

Nós precisamos também nos identificarmos para o git e vamos aproveitar também para colorir o prompt dele. Para isso abra o arquivo ~/.gitconfig e cole o script abaixo:

$ cd ~
$ vim .gitconfig
...
[user]
  name = Cezinha
  email = cesar@asseinfo.com.br

[log]
  date = local

[color]
  status = auto
  branch = auto
  interactive = auto
  diff = auto

MySQL

Este passo instalará tanto o cliente quanto o servidor MySQL. No meu caso eu uso o MySQL para desenvolvimento na minha máquina local. Se você utiliza outro banco, como por exemplo o SQLite, acredito que este passo não seja importante pra você.

A instalação do MySQL também se dará através do Homebrew:

$ brew install mysql

O processo deve demorar um pouco. Depois disso é só conferir:

$ mysql --version
mysql  Ver 14.14 Distrib 5.6.13, for osx10.8 (x86_64) using  EditLine wrapper

Para colocar o servidor de pé basta usar:

$ mysql.server start

Ou para derrubá-lo:

$ mysql.server stop

Caso queira que o MySQL já carregue junto com o login, basta rodar as duas linhas abaixo:

$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Eu particularmente prefiro acionar manualmente sempre que precisar.

Ruby e Gem

O OS X já vem com o Ruby instalado e Gem instalados por default. Provavelmente não é a versão mais atual. Você pode checar isso através do comando abaixo:

$ ruby --version
ruby 1.8.7

$ gem --version
1.3.6

Dá pro gasto pra instalarmos as demais ferramentas. Por enquanto vamos deixar como está.

RVM

Com o RVM você poderá rodar diversas versões do Ruby e diversos Gemset no mesmo computador.

$ \curl -L https://get.rvm.io | bash

Você pode obter maiores informações sobre o RVM no link abaixo:

https://rvm.io/rvm/install

Importante: o rvm só ficará disponível pra você depois de fechar o terminal e abrir novamente. Ele já estará configurado no seu usuário.

Você pode verificar o seu rvm assim:

$ rvm --version
rvm 1.21.16

Autolibs

O Autolibs é uma mão na roda para o RVM. Ele tentará resolver automaticamente as dependências do que você tentar instalar no RVM.

Você pode consultar se ele está instalado assim:

$ rvm autolibs show
default (fail) ou disable -> significa que não está habilitado.

Para habilitá-lo você pode fazer assim:

$ rvm autolibs enable

Ruby dentro do RVM

Lembra que um pouco mais cedo eu escrevi que o ruby já vinha com o OS X, mas o mesmo provavelmente não seria do seu agrado? Então, agora você pode instalar o ruby que você precisa dentro do RVM sem zoar com o ruby default do SO.

Vamos instalar o Ruby 1.9.3:

$ rvm install 1.9.3

Se você quiser instalar outra versão, basta usar o rvm install novamente. Veja só como faríamos se quiséssemos instalar o ruby 2.0.0:

$ rvm install 2.0.0

Depois podemos consultar todos os rubies instalados com o comando abaixo:

$ rvm list

Para deixar o ruby 1.9.3 como default faça o seguinte:

$ rvm use 1.9.3 --default

Você pode consultar ainda quais rubies estão a sua disposição para serem instalados:

$ rvm list known

Para comutar entre os rubies 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.

Rails

Vamos instalar agora o Rails dentro do RVM para o Ruby 1.9.3.

$ rvm use 1.9.3
$ gem install rails --version=3.2.13

Aguarde um pouco até o processo terminar. Isso pode demorar.

Teste agora o rails:

$ rails --version
Rails 3.2.13

Veja ainda que o Rails não foi instalado no 2.0.0:

$ rvm use 2.0.0
$ 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 .bash_profile:

$ cd ˜
$ vim .bash_profile

..
# Colorindo o ls e o grep
export GREP_OPTIONS="--color=auto"
export GREP_COLOR="4;33"
export CLICOLOR="auto"

# ls / ll
alias ls="ls -G"
alias ll="ls -l"

# Mostrar o git no prompt
# Origem: http://www.developerzen.com/2011/01/10/show-the-current-git-branch-in-your-command-prompt/

function parse_git_branch () {
       git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

RED="\[\033[0;31m\]"
YELLOW="\[\033[0;33m\]"
GREEN="\[\033[0;32m\]"
NO_COLOUR="\[\033[0m\]"

PS1="$GREEN\u@machine$NO_COLOUR:\w$YELLOW\$(parse_git_branch)$NO_COLOUR\$ "

Você encontrará diversas versões deste script na web.

Pronto! Agora é só começar a trabalhar.

Espero que goste.