Introdução

Ruby on Rails é uma das pilhas de aplicativo mais populares para desenvolvedores que se dedicam a criar sites e aplicativos Web. A linguagem de programação Ruby, combinada com o framework de desenvolvimento do Rails, torna o desenvolvimento de app simples.

Você pode instalar a Ruby e o Rails com a ferramenta de linha de comando rbenv. O uso da ferramenta rbenv proporcionará um ambiente sólido para desenvolver seus aplicativos do Ruby on Rails já que isso permitirá a você mudar as versões do Ruby facilmente, mantendo sua equipe toda na mesma versão.

O rbenv fornece suporte para especificar as versões específicas do aplicativo do Ruby, permite que a alteração da Ruby global para cada usuário e permite o uso de uma variável de ambiente para substituir a versão do Ruby.

Este tutorial irá guiar você no processo de instalação do Ruby e Rails via rbenv.

Pré-requisitos

com illustration for: Pré-requisitos

Para seguir este tutorial, será necessário:

  • O Node.js instalado usando o PPA oficial, como explicado no tópico Como instalar o Node.js no Ubuntu 18.04. Alguns recursos do Rails, como o Pipeline de ativos, dependem do tempo de execução do JavaScript. O Node.js fornece essa funcionalidade.

Passo 1 — Instalar o rbenv e dependências

O Ruby conta com vários pacotes que você pode instalar através do seu gerenciador de pacotes. Assim que eles estiverem instalados, instale o rbenv e use-o para instalar o Ruby:

Primeiramente, atualize sua lista de pacotes:

				
					
sudo apt update

				
			

Em seguida, instale as dependências necessárias para instalar o Ruby:

				
					
sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

				
			

Assim que baixar as dependências, instale o rbenv, propriamente dito. Clone o repositório rbenv do GitHub para o diretório ~/.rbenv:

				
					
git clone https://github.com/rbenv/rbenv.git ~/.rbenv

				
			

Em seguida, adicione ~/.rbenv/bin ao seu $PATH para que você possa usar o utilitário de linha de comando rbenv. Faça isso alterando seu arquivo ~/.bashrc para que ele afete as futuras sessões de login:

				
					
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

				
			

Então, adicione o comando eval "$(rbenv init -)" ao seu arquivo ~/.bashrc para que o rbenv carregue automaticamente:

				
					
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

				
			

Em seguida, aplique as alterações que você fez ao arquivo ~/.bashrc na sua sessão de shell atual:

				
					
source ~/.bashrc

				
			

Verifique se o rbenv está configurado corretamente usando o comando type, o qual irá mostrar mais informações sobre o comando rbenv:

				
					
type rbenv

				
			

Sua janela do terminal mostrará o seguinte:

				
					
[secondary_label Output]

rbenv is a function

rbenv ()

{

 local command;

 command="${1:-}";

 if [ "$#" -gt 0 ]; then

 shift;

 fi;

 case "$command" in

 rehash | shell)

 eval "$(rbenv "sh-$command" "$@")"

 ;;

 *)

 command rbenv "$command" "$@"

 ;;

 esac

}

				
			

Em seguida, instale o plug-in [ruby-build] (https://github.com/rbenv/ruby-build). Este plug-in adiciona o comando rbenv install que simplifica o processo de instalação para novas versões do Ruby:

				
					
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

				
			

Neste ponto, você tem tanto o rbenv quanto o ruby-build instalados. Vamos instalar o Ruby a seguir.

Passo 2 — Instalando o Ruby com o ruby-build

Com o plug-in do ruby-build instalado, você pode instalar as versões do Ruby que precisar através de um simples comando. Primeiramente, vamos listar todas as versões disponíveis do Ruby:

				
					
rbenv install -l

				
			

O resultado desse comando deve ser uma longa lista de versões que você pode escolher para instalar.

Vamos instalar o Ruby <^>2.5.1<^>:

				
					
rbenv install &lt;^&gt;2.5.1&lt;^&gt;

				
			

A instalação do Ruby pode ser um processo longo, então esteja preparado.

Assim que terminar de instalar, ajuste-o como a nova versão padrão do Ruby com o sub-comando global:

				
					
rbenv global &lt;^&gt;2.5.1&lt;^&gt;

				
			

Verifique se o Ruby foi devidamente instalado verificando seu número de versão:

				
					
ruby -v

				
			

Se a versão instalada do Ruby for a 2.5.1, seu resultado para o comando acima deve ficar com uma aparência como esta:

				
					
[secondary_label Output]

ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

				
			

Para instalar e usar uma versão diferente do Ruby, execute os comandos rbenv com um número diferente de versão, como em rbenv install <^>2.3.0<^> e rbenv global <^>2.3.0<^>.

Agora, você tem pelo menos uma versão do Ruby instalada e definiu sua versão padrão do Ruby. Em seguida, vamos configurar gems e Rails.

Passo 3 — Trabalhando com as Gems

As Gems são a maneira como as bibliotecas do Ruby são distribuídas. Você usa o comando gem para gerenciar essas gems. Vamos usar esse comando para instalar o Rails.

Ao instalar uma gem, o processo de instalação gera uma documentação local. Isso pode adicionar uma quantidade significativa de tempo no processo de instalação de cada gem. Assim, desligue a geração de documentação local, criando um arquivo chamad o ~/.gemrc, o qual contém uma configuração para desligar esse recurso:

				
					
echo "gem: --no-document" &gt; ~/.gemrc

				
			

O Bundler é uma ferramenta que gerencia as dependências da gem dos projetos. Instale a gem do Bundler em seguida, já que o Rails depende dela.

				
					
gem install bundler

				
			

Você verá um resultado como esse:

				
					
[secondary_label Output]

Fetching: bundler-1.16.2.gem (100%)

Successfully installed bundler-1.16.2

1 gem installed

				
			

Você pode usar o comando gem env (o subcomando env é uma abreviação de environment [ambiente]) para aprender mais a respeito do ambiente e da configuração das gems. É possível ver onde as gems estão sendo instaladas usando o argumento home, desta forma:

				
					
gem env home

				
			

Você verá um resultado similar a este:

				
					
/home/&lt;^&gt;sammy&lt;^&gt;/.rbenv/versions/&lt;^&gt;2.5.1&lt;^&gt;/lib/ruby/gems/&lt;^&gt;2.5.0&lt;^&gt;

				
			

Assim que tiver as gems configuradas, é possível instalar o Rails.

Passo 4 — Instalando o Rails

Para instalar o Rails, utilize o comando gem install junto com o sinalizador -v para especificar a versão. Neste tutorial, vamos usar a versão 5.2.0:

				
					
gem install rails -v &lt;^&gt;5.2.0&lt;^&gt;

				
			

O comando gem instala a gem que você especificar, além de cada dependência. O Rails é um framework de desenvolvimento Web complexo e tem muitas dependências, então o processo levará algum tempo para ser completo. Ao final, você verá uma mensagem afirmando que o Rails foi instalado, junto com suas dependências:

				
					
[secondary_label Output]

...

Successfully installed rails-&lt;^&gt;5.2.0&lt;^&gt;

38 gems installed

				
			

Nota: se quiser instalar uma versão diferente do Rails, é possível listar as versões válidas do Rails fazendo uma pesquisa que lhe dará uma longa lista de versões possíveis. Então podemos instalar uma versão específica como a <^>4.2.7<^>:

				
					
gem search '^rails$' --all

gem install rails -v &lt;^&gt;4.2.7&lt;^&gt;

				
			

Se quiser instalar a versão mais recente do Rails, execute o comando sem uma versão especificada:

				
					
gem install rails

				
			

O rbenv funciona criando um diretório de shims, que aponta para os arquivos usados pela versão do Ruby habilitada no momento. Através do subcomando rehash, o rbenv mantém os shims naquele diretório para corresponder a cada comando do Ruby em todas as versões do Ruby instaladas em seu servidor. Sempre que instalar uma nova versão do Ruby ou uma gem que forneça comandos, como o Rails faz, você deve executar:

				
					
rbenv rehash

				
			

Verifique se o Rails foi instalado corretamente mostrando sua versão na tela com este comando:

				
					
rails -v

				
			

Se ele estiver devidamente instalado, você verá a versão do Rails que foi instalada:

				
					
[secondary_label Output]

Rails 5.2.0

				
			

Neste ponto, você pode começar a testar sua instalação do Ruby on Rails e começar a desenvolver aplicativos Web. Vamos ver como manter o rbenv atualizado.

Passo 5 — Atualizando o rbenv

Uma vez que você instalou o rbenv manualmente usando o Git, é possível atualizar sua instalação para a versão mais recente a qualquer momento usando o comando git pull no diretório ~/.rbenv:

				
					
cd ~/.rbenv

git pull

				
			

Isso garantirá que estamos usando a versão mais atual do rbenv disponível.

Passo 6 — Desinstalando as versões do Ruby

Como você baixou versões adicionais do Ruby, é possível acumular mais versões do que gostaria em seu diretório ~/.rbenv/versions. Utilize o subcomando ruby-build plugin's uninstall para remover essas versões anteriores.

Por exemplo, digitar isso irá desinstalar a versão do Ruby <^>2.1.3<^>:

				
					
rbenv uninstall &lt;^&gt;2.1.3&lt;^&gt;

				
			

Com o comando rbenv uninstall, é possível limpar as versões antigas do Ruby para não ter mais versões instaladas do que estiver usando no momento.

Passo 7 — Desinstalando o rbenv

Se você decidiu que já não vai mais usar o rbenv, é possível removê-lo do seu sistema.

Para fazer isso, abra primeiro seu arquivo ~/.bashrc no seu editor:

				
					
nano ~/.bashrc

				
			

Encontre e remova as duas linhas seguintes do arquivo:

				
					
[label ~/.bashrc]

...

export PATH="$HOME/.rbenv/bin:$PATH"

eval "$(rbenv init -)"

				
			

Salve o arquivo e saia do editor.

Então, remova o rbenv e todas as versões instaladas do Ruby com este comando:

				
					
 rm -rf `rbenv root`

				
			

Faça log-off e torne a fazer log-in para aplicar as alterações feitas ao seu shell.

Conclusão

Neste tutorial, você instalou o rbenv e o Ruby on Rails. A partir daqui, é possível aprender mais sobre como tornar esses ambientes mais robustos.

Explore como usar o Ruby on Rails com o PostgreSQL ou o MySQL em vez de seu banco de dados sqlite3 padrão, que fornecem maior escalabilidade, centralização e estabilidade para seus aplicativos. À medida que suas necessidades aumentarem, você pode aprender a dimensionar os aplicativos do Ruby on Rails em múltiplos servidores.