Configurando um ambiente de desenvolvimento Ruby on Rails 3.2 no Mac OS X 10.8.4
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: 12E55Instalar 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.4Nó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 = autoMySQL
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 mysqlO 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 wrapperPara colocar o servidor de pé basta usar:
$ mysql.server startOu para derrubá-lo:
$ mysql.server stopCaso 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.plistEu 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.6Dá 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 | bashVocê pode obter maiores informações sobre o RVM no link abaixo:
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.16Autolibs
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 enableRuby 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.3Se 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.0Depois podemos consultar todos os rubies instalados com o comando abaixo:
$ rvm listPara deixar o ruby 1.9.3 como default faça o seguinte:
$ rvm use 1.9.3 --defaultVocê pode consultar ainda quais rubies estão a sua disposição para serem instalados:
$ rvm list knownPara comutar entre os rubies use:
$ rvm use ree
ou
$ rvm use 1.9.3
ou
$ rvm use systemEste ú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.13Aguarde um pouco até o processo terminar. Isso pode demorar.
Teste agora o rails:
$ rails --version
Rails 3.2.13Veja 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.3E por último, mas não menos importante, vamos instalar o RSpec:
$ gem install rspec
$ gem install rspec-railsImportante:
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"
endNem disso (execute dentro do diretório do projeto):
$ rails generate rspec:installDeixando 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.