Configurando um ambiente ruby on rails

Se você quer aprender sobre Ruby on Rails, nesta série iremos falar desde como configurar um ambiente para desenvolvimento no Rails, passando pela criação dos controles, models, rotas e todas as configurações necessárias para construirmos nossas primeiras aplicações em Rails.

Neste primeiro post, irei mostrar como configurar um ambiente rails utilizando dois softwares muito úteis, o virtual box e o vagrant.

Instalação do Virtual Box e do Vagrant

O Virtual Box é um software que irá emular uma máquina virtual dentro da sua máquina. Deste modo conseguimos isolar nosso ambiente de desenvolvimento da nossa máquina primária. Isto é bastante útil q para não poluirmos nossa máquina principal, com servidores de banco de dados e etc. O Vagrant é responsável por tornar as tarefas de gerência destes ambientes mais fáceis, além de possuir as boxes, que permitem criar ambientes prontos, que podem ser rapidamente baixados e instalados.

Primeiramente baixe o software Virtual Box no site oficial https://www.virtualbox.org/wiki/Downloads conforme a versão do seu sistema operacional. Faça a mesma coisa para o Vagrant, https://www.vagrantup.com/downloads.html . São apenas instalações simples, qualquer dificuldade posso ajudar nos comentários. Após instalado, abra um novo console, e crie um novo diretório com um nome para identificar sua vm(virtual machine). Em sistema unix você pode usar o comando mkdir para esta tarefa. Após isso acesse esse diretório.

Em seguida, iremos fazer o download de uma box vagrant que servirá como base para nosso ambiente Rails. Eu escolhi para este tutorial, uma box com Ubuntu 14.04 LTS, que é a versão de suporte extendido do Ubuntu atualmente.

Para baixar a box utilize o comando:

vagrant box add ubuntu/trusty64

Aguarde o término do download da máquina. Após baixar, use o comando abaixo para iniciar uma nova instância do vagrant.

vagrant init ubuntu/trusty64

Este comando irá criar um arquivo chamado VagrantFile no diretório atual. Abra este arquivo e iremos ver algumas linhas do mesmo. Na linha “config.vm.box” temos o nome da box que este arquivo irá iniciar, certifique-se que o valor do mesmo seja:

config.vm.box = "ubuntu/trusty64"

Localize a linha:

  # config.vm.network "private_network", ip: "192.168.33.10"

Esta linha deve ser descomentada, retirando o ‘#’ na frente da mesma. Assim habilitamos uma rede interna, para que possamos acessar a máquina virtual a partir da nossa. para quem tiver interesse, existem outras configurações intessantes neste arquivo, no momento não irei cita-las, talvez em outra série.

Salve o arquivo e feche-o. Em seguida, volte ao terminal e execute o comando:

vagrant up

Após rodar este comando, uma nova máquina será criada e iniciada. Após o término da criação, utilize o comando abaixo, para fazer uma conexão SSH com a vm.

vagrant ssh

Dentro do ambiente de desenvolvimento, temos o diretório /vagrant, que será um espelho do conteúdo do diretório que criamos anteriormente, inclusive você verá os arquivos “Vagrantfile” no interior do mesmo.

Configurando o ambiente Ruby On Rails

Inicialmente, vamos começar atualizando os pacotes de software da VM. Utilize o comando:

sudo apt-get update

Após vamos instalar as dependências necessárias para que os compiladores do rails funcionem. Execute o comando abaixo:

sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev -y

Após tudo instalado, estamos prontos para baixar o rbenv, um gerenciador de versões para o ruby.

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Estes comandos irão baixar o rbenv, e configurar as váriaveis de ambiente necessárias.

Instalando o Ruby

Após a instalação do rbenv, é bastante simples instalar versões do ruby, irei instalar a versão mais recente do ruby atualmente, a 2.2.3

rbenv install -v 2.2.3

Após fazer a instalação da versão é necessário ainda dizer ao rbenv qual a versão do ruby usada atualmente, com o subcomando global.

rbenv global 2.2.3

Deste modo, conseguimos fazer a instalação de várias versões do ruby, e depois alterar facilmente entre elas usando o global. Após isso, podemos ainda rodar o comando abaixo para verificar a versão ativa do ruby.

ruby -v

Para finalizar, vamos definir que não queremos que o ruby baixe toda a documentação a cada gem instalada, visto que isto pode ser bastante demorada. Para isso vamos executar:

echo "gem: --no-document" > ~/.gemrc

Após instale o gerenciador de gems bundler, para controlar as dependencias dos aplicativos.

gem install bundler

Instalando o Rails

Iremos finalmente instalar a gem Rails, para isto execute o comando abaixo (poderá ser adicionado o parâmetro -v para baixar uma versão em especifico)

gem install rails

Toda vez que for instalada uma nova versão do ruby ou de uma gem que forneça comandos, será necessário rodar o comando:

rbenv rehash

Ao final, verifique se ocorreu tudo corretamente executando o comando:

rails -v

#Rails 4.2.4

Instalando o Javascript Runtime

Como no pipeline dos no rails, o mesmo faz uso de coffeescripts e miniaturaização automática de assets, é necessário ter instalado algum javascript runtime. Neste tutorial iremos instalar o node js.

Para isso primeiramente adicione o repositório dele através do comando:

sudo add-apt-repository ppa:chris-lea/node.js

E em seguida faça o update dos pacotes do apt-get e a instalação do nodejs.

sudo apt-get update
sudo apt-get install nodejs

Instalação do Mysql

O Rails suporta vários tipos de bancos, irei instalar agora o mysql, que será usado nos tutoriais desta série. Caso sinta-se a vontade, você poderá instalar outros bancos. Execute o comando abaixo para instalar os pacotes referentes ao mysql.

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Após instale a gem mysql2, responsável por fornecer as funções do mysql nas aplicações ruby.

gem install mysql2

Com isso o ambiente está configurado. Vamos criar uma aplicação de testes para verificar se tudo está funcionando. Para isso execute o comando:

rails new testapp -d mysql

Isto irá criar um novo app utilizando o banco de dados mysql por padrão. Acesse o diretório criado testapp Devido a uma incompatibilidade da versão 4.2.4 do rails com a gem mysql2, devemos editar o arquivo Gemfile, para buscar uma versão mais antiga desta gem. Para isto localize a linha:

gem 'mysql2'

E substitua por:

 gem 'mysql2', '~> 0.3.18'

Caso você tenha definido uma senha para o banco de dados, você deve informa-la no arquivo config/database.yml preenchendo o valor do campo password:

  default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock

Após, execute o comando abaixo para criar o banco de dados:

rake db:create

Para visualizar a aplicação no ar, acesse o endereço da máquina (que pode ser obtido através do comando ifconfig) na porta 3000, no meu caso é http://192.168.33.10:3000/.

No próximo post, veremos como criar nossa primeira aplicação rails, até lá.

Rodrigo Vargas ® 2021