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

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.

Para quem quiser conhecer o post anterior está aqui. Tenho uma outra versão do mesmo post para o Mac OS X 10.8.4 Mountain Lion aqui.

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.9.2 Mavericks. 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.9.2
BuildVersion:	13C64

Ruby 2 e Gem

Olha só que coisa bacana! O OS X 10.9.2 já vem com o Ruby 2 instalado. Confira:

$ ruby --version
ruby 2.0.0p247

$ gem --version
2.0.3

Eu prefiro sempre trabalhar com a versão mais atual do Ruby, aliás, mais atual de qualquer software. Mas, eu costumo não atualizar o ruby do S.O.. Normalmente dá muita dor de cabeça e não vejo vantagens. Para o desenvolvimento eu usarei o RVM. Daí o processo de instalação de vários Rubies fica bem mais simples. Vamos ver isso mais adiante.

Homebrew, XCode e Git

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 é baseado em Ruby + Git.

Para instalá-lo basta executar a linha abaixo:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Você poderá conhecer mais sobre o Homebrew aqui.

O processo de instalação do homebrew instalará também as ferramentas de linha de comando do XCode. O bom é que ele só fará o download do que precisa. Você pode instalar estas ferramentas também via App Store, mas prepare-se pra ocupar em torno de 2.5GB do seu SSD (e crescendo).

E claro… o homebrew instalará também o Git. Aliás, alguém ainda usa o svn?! Relaxa, pois o download demora.

Ao final da instalação rode:

$ brew doctor

Confira se tudo deu certo:

$ git --version
git version 1.8.5.2 (Apple Git-48)

$ brew --version
0.9.5

Instalando o Kdiff 3

Eu realmente gosto do Git, mas tenho que dizer que resolver conflitos através do vim é uma pedreira. Pra isso eu costumo utilizar o Kdiff 3.

$ brew tap caskroom/cask
$ brew cask install kdiff3

Configurando e deixando o Git bonitão

Como o homebrew já instalou o git pra gente (na real ele veio com o XCode), a única coisa que falta é configurá-lo.

Nós precisamos 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

[difftool "kdiff3"]
  path = /Applications/kdiff3.app/Contents/MacOS/kdiff3
  trustExitCode = false

[difftool]
  prompt = false

[diff]
  tool = kdiff3

[mergetool "kdiff3"]
  path = /Applications/kdiff3.app/Contents/MacOS/kdiff3
  trustExitCode = false

[mergetool]
  keepBackup = false

[merge]
  tool = kdiff3

wget

O wget é uma mão na roda e, infelizmente, ele não vem padrão no Mac.

$ brew install wget

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.17, for osx10.9 (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.

RVM

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

$ curl -ssL https://get.rvm.io | bash -s stable

Você pode obter maiores informações sobre o RVM aqui.

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.25.24

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ê precisar dentro do RVM sem zoar com o Ruby default do SO.

Vamos instalar o Ruby 2.1.1:

$ rvm install 2.1.1

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

$ rvm install 1.9.3

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

$ rvm list

Para deixar o Ruby 2.1.1 como default faça o seguinte:

$ rvm use 2.1.1 --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 2.1.1.

$ rvm use 2.1.1
$ gem install rails --version=4.1.0

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

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.

Bonus: aumente o tamanho da fonte do seu terminal

Eu gosto de trabalhar com a fonte do terminal bem grande. Aí vai:

Terminal -> Preferences
Ajustes -> Texto -> Fonte -> Menlo Regular 20pt

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

Espero que goste.