Configurando um ambiente de desenvolvimento Ruby on Rails 5.x no Mac OS X 10.13.2 High Sierra
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.13.2 High Sierra. Se você estiver com dúvidas sobre a sua versão então experimente o comando abaixo:
Ruby 2 e Gem
Olha só que coisa bacana! O OS X 10.13.2 já vem com o Ruby 2 instalado. Confira:
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:
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:
Confira se tudo deu certo:
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.
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:
wget
O wget é uma mão na roda e, infelizmente, ele não vem padrão no Mac.
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:
O processo deve demorar um pouco. Depois disso é só conferir:
Para colocar o servidor de pé basta usar:
Ou para derrubá-lo:
Caso queira que o MySQL já carregue junto com o login, basta rodar as duas linhas abaixo:
Eu particularmente prefiro acionar manualmente sempre que precisar.
PostgreSQL
Agora vamos instalar tanto o cliente quanto o servidor do PostgreSQL.
Pra isso vamos usar também o brew. Não caia na bobagem de instalar em seu Mac como se fosse um app. Mais pra frente você terá problemas ao compilar a gem PG para usar no Rails. Com o brew tudo fica mais simples.
Para colocar o servidor de pé basta usar:
Caso queira que o PostgreSQL já carregue junto com o login, basta rodar as duas linhas abaixo:
asdf
Quando o mundo era mais simples e a única complicação que eu tinha era ter diversas versões de Ruby e Gemsets eu usava o RVM.
Nos dias de hoje é muito comum você ter que lidar com diversas versões de diversas linguagens ao mesmo tempo e nesse cenário, o RVM já não é mais tão eficiente.
E para nos salvar temos o asdf.
Eu gosto dele pois posso tiver diversas versões de Ruby e também de Node.js. Você pode conhecer um pouco mais da ferramenta através deste post do Akita.
Vamos a instalação:
Feche o seu terminal e abra novamente para que as modificações tenham efeito.
Agora você precisa instalar o plugin de cada linguagem que você utiliza. No meu caso eu instalarei o do Ruby e do Node.js.
Com o comando abaixo você atualiza todos os plugins instalados:
Bora lá instalar o Ruby e o Nodejs.
Ruby dentro do asdf
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.2.9:
Se você quiser instalar outra versão, basta usar o asdf install novamente. Veja só como faríamos se quiséssemos instalar o Ruby 2.2.1:
Depois podemos consultar todas as versões de Ruby instaladas com o comando abaixo:
Para deixar o Ruby 2.2.9 como default faça o seguinte:
Se você abrir um novo terminal e digitar o comando abaixo, verá que o Ruby 2.2.9 ficou disponível como padrão:
Você pode consultar ainda quais versões do Ruby estão a sua disposição para serem instalados:
Se você só usa uma versão do Ruby em todos os seus projetos, a opção global deve resolver o seu problema.
Mas, se você precisar de uma versão diferente do Ruby em uma determinada pasta, basta usar o comando abaixo:
Este comando gerará o arquivo .tool-versions no qual indicará para o asdf que ele deve usar a versão do Ruby que você especificou.
Ei! Chega de explicações. Como disse anteriormente, este post não tem como objetivo ensinar a usar nada, ok? Apenas instalar.
Nodejs dentro do asdf
Vamos instalar o Nodejs 6.11.3:
Rails
Vamos instalar agora o Rails dentro do asdf para o Ruby 2.2.9 (no qual é o global neste momento).
Aguarde um pouco até o processo terminar. Isso pode demorar.
Teste agora o Rails:
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:
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.