Setup para Ruby / Rails: MacOS

Este artigo descreve como configurar um ambiente de desenvolvimento Ruby / Rails no macOS. Ele inclui a instalação do Visual Studio Code, Asdf, Ruby, NodeJS, SQLite, Rails e Ruby LSP (plugin para o VSCode).

Para seguir este tutorial, basta copiar e co…


This content originally appeared on DEV Community and was authored by Rodrigo Serradura

Este artigo descreve como configurar um ambiente de desenvolvimento Ruby / Rails no macOS. Ele inclui a instalação do Visual Studio Code, Asdf, Ruby, NodeJS, SQLite, Rails e Ruby LSP (plugin para o VSCode).

Para seguir este tutorial, basta copiar e colar os comandos no terminal. Caso encontre algum problema, deixe um comentário que eu tentarei te ajudar. 😊

Instalação do Homebrew

O Homebrew é um gerenciador de pacotes para macOS. Ele facilita a instalação de softwares e ferramentas no sistema. Para instalá-lo, execute o comando abaixo:

# https://brew.sh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Esse comando solicitará permissão para instalar o Homebrew. Pressione Enter para continuar e insira a senha do seu usuário quando for solicitado.

Ao final da instalação, execute os comandos indicados para habilitar o Homebrew no terminal.

Terminal do macOS demonstrando comandos para serem executados após instalação do Homebrew

Exemplo (baseado na imagem acima):

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Instalação do Asdf

asdf é um gerenciador de ferramentas e suas diferentes versões. Ele permite instalar, gerenciar e alternar entre várias versões de Ruby, NodeJS, dentre outros programas e linguagens de programação. Execute os comandos abaixo para fazer a sua instalação.

# Instale as dependências
brew install coreutils curl git

# Instale o asdf
# -- https://asdf-vm.com/guide/getting-started.html#_2-download-asdf
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0

# Configure para inicializar no terminal
echo '. "$HOME/.asdf/asdf.sh"' >> .zshrc
echo '' >> .zshrc

# Configure o autocomplete
echo '# append completions to fpath' >> .zshrc
echo 'fpath=(${ASDF_DIR}/completions $fpath)' >> .zshrc
echo '# initialise completions with ZSH\’s compinit' >> .zshrc
echo 'autoload -Uz compinit && compinit' >> .zshrc

source ~/.zshrc

Instalação do Ruby

Ruby é a linguagem de programação utilizada no framework Ruby on Rails. Os comandos abaixo instalam a última versão do Ruby e a definem como a padrão do sistema.

# Instale as dependências de compilação
# -- https://github.com/rbenv/ruby-build/wiki#macos
brew install openssl@3 readline libyaml gmp

# Adicione o plugin ao asdf
asdf plugin add ruby

# Instale a última versão
asdf install ruby latest:3

Após a instalação, execute os comandos abaixo para definir a versão padrão do Ruby e atualizar o RubyGems (gerenciador de bibliotecas do Ruby).

# Verifique a versão que foi instalada
asdf list ruby # Deverá aparecer algo como:
               # 3.3.4

# Defina a versão obtida como a padrão do sistema
asdf global ruby 3.3.4

Abra um nova tab no terminal (cmd + t) e execute os seguintes comandos:

# Verifique a versão padrão
ruby -v

# Atualize o RubyGems
gem update --system

Instalação do Visual Studio Code

Visual Studio Code é um editor de código-fonte gratuito desenvolvido pela Microsoft para Windows, Linux e macOS.

Os comandos abaixo, baixam e instalam o Visual Studio Code. Além disso, o editor será configurado como o padrão do terminal.

brew install --cask visual-studio-code


# Adicione o Visual Studio Code como editor padrão do terminal
echo 'export EDITOR="code --wait"' >> ~/.zshrc

Instalação do Ruby LSP no Visual Studio Code

O Ruby LSP é um plugin para VSCode que fornece recursos como autocompletar, formatação dentre outros, tanto para Ruby quanto para Rails.

# Instale a gem do Ruby LSP
gem install ruby-lsp

# Instale a extensão do Ruby LSP no Visual Studio Code
code --install-extension shopify.ruby-lsp

Instalação do NodeJS

NodeJS é uma plataforma de desenvolvimento de aplicações em JavaScript. O node (ou nodejs) é utilizado pelo Rails para compilar assets (como CSS e JavaScript).

Os comandos abaixo instalam a última versão e a definem como a padrão do sistema.

# Adicione o plugin ao asdf
asdf plugin add nodejs

# Instale a última versão
asdf install nodejs latest

# Verifique a versão que foi instalada
asdf list nodejs # Deverá aparecer algo como:
                 # 22.4.1

# Defina essa versão como a padrão do sistema
asdf global nodejs 22.4.1

# Faça a instalação do yarn
npm install -g yarn

# Verifique a versão padrão
node -v

Instalação do SQLite

SQLite é um banco de dados SQL embutido. Ou seja, ele é um banco de dados que não requer um servidor separado já que tudo é armazenado em um único arquivo.

brew install sqlite

# Verifique a versão que foi instalada
sqlite3 --version

Instalação do Rails

Rails é um framework WEB escrito em Ruby. Ele é utilizado para desenvolver aplicações seguindo o padrão MVC (Model-View-Controller).

gem install rails

# Verifique a versão que foi instalada
rails -v

# Execute o comando abaixo caso rails -v apresente algum problema:
# Exemplo:
#   Rails is not currently installed on this system. To get the latest version, simply type:
#   $ sudo gem install rails
source ~/.zshrc

Criando um projeto Rails

Visando testar a instalação do Ruby e do Rails, vamos criar um projeto para verificar se tudo está funcionando.

# Vá para o diretório home
cd ~

# Crie uma pasta para organizar seus projetos
mkdir Workspace

# Entre na pasta
cd Workspace

# Crie um novo projeto Rails
# O banco de dados padrão é o SQLite
rails new myapp

# Acesse a pasta do projeto
cd myapp

# Crie o banco de dados
bin/rails db:create

# Inicie o servidor
bin/rails s

Abra outra aba no terminal (cmd + t) e execute o comando para acessar a aplicação no navegador:

# Irá para a pasta do projeto
cd ~/Workspace/myapp

# Abre a aplicação no navegador
open http://localhost:3000

Criando um gerenciador de contatos

O comando bin/rails g scaffold cria um CRUD (Create, Read, Update, Delete) para um modelo. Ou seja, através dele é possível criar, listar, editar e excluir registros de um banco de dados através de uma interface WEB.

# Crie um scaffold para a entidade Person
bin/rails g scaffold Person first_name last_name email birthdate:date

# Execute as migrações para criar a tabela no banco de dados
bin/rails db:migrate

# Inicie o servidor (caso não esteja rodando)
# bin/rails s

# Acesse o gerenciador de contatos no navegador
open http://localhost:3000/people

Navegue pelo sistema e teste as funcionalidades de listagem, cadastro, visualização, edição e exclusão de contatos.

Melhorando a aparência da aplicação

Visando melhorar o visual do sistema, vamos adicionar o Pico CSS versão class-less, que como o nome sugere não faz uso classes CSS. Ou seja, basta adicionar as tags HTML para obter um estilo bonito e padronizado.

# Vá para pasta do projeto
cd ~/Workspace/myapp

# Abra o VSCode
code .

Dentro do VSCode, abra o arquivo app/views/layouts/application.html.erb (utilize o cmd + p para buscar o arquivo) e adicione o seguinte trecho de código dentro da tag.<head>:

<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
/>

Nesse mesmo arquivo, envolva o conteúdo da tag <body> com uma tag <main>:

<body>
  <main><%= yield %></main>
</body>

Após essas alterações, acesse o navegador e recarregue para ver o novo visual de todas as páginas do sistema.

Adicionando validações ao modelo Person

Embora funcional, o gerenciador de cadastro não possui validações. Vamos adicionar algumas para garantir que os dados informados sejam válidos.

Através do VSCode, abra o arquivo app/models/person.rb (utilize o cmd + p para buscar o arquivo) e adicione as validações:

validates :first_name, :last_name, presence: true
validates :email, format: /@/, allow_blank: true

Volte o navegador e tente cadastrar/editar uma pessoa sem informar o nome ou o e-mail (sem @).

Conclusão

Viu como foi simples configurar um ambiente de desenvolvimento Ruby / Rails no macOS?

Curtiu, então acesse as referências abaixo para obter mais informações sobre cada um dos programas e linguagens utilizadas.

Você sente dificuldades com inglês? Acesse esse outro post para aprender como traduzir conteúdos técnicos de forma prática através do Google Translator.

Gostou do conteúdo? Tem outra dica? Então deixe seu comentário aqui embaixo. Valeu! 😉

Nota: Este artigo foi escrito com base no macOS Sonoma. Caso você esteja utilizando outra versão, os comandos podem não funcionar corretamente. Caso encontre algum problema, deixe um comentário que eu tentarei te ajudar. 😊

Referências:

A lista abaixo contém os sites de referência utilizados para a criação deste documento. Ela segue a ordem de aparição no post.

Já ouviu falar do ada.rb - Arquitetura e Design de Aplicações em Ruby? É um grupo focado em práticas de engenharia de software com Ruby. Acesse o canal no telegram e junte-se a nós em nossos meetups 100% on-line.


This content originally appeared on DEV Community and was authored by Rodrigo Serradura


Print Share Comment Cite Upload Translate Updates
APA

Rodrigo Serradura | Sciencx (2024-07-11T02:55:21+00:00) Setup para Ruby / Rails: MacOS. Retrieved from https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/

MLA
" » Setup para Ruby / Rails: MacOS." Rodrigo Serradura | Sciencx - Thursday July 11, 2024, https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/
HARVARD
Rodrigo Serradura | Sciencx Thursday July 11, 2024 » Setup para Ruby / Rails: MacOS., viewed ,<https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/>
VANCOUVER
Rodrigo Serradura | Sciencx - » Setup para Ruby / Rails: MacOS. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/
CHICAGO
" » Setup para Ruby / Rails: MacOS." Rodrigo Serradura | Sciencx - Accessed . https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/
IEEE
" » Setup para Ruby / Rails: MacOS." Rodrigo Serradura | Sciencx [Online]. Available: https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/. [Accessed: ]
rf:citation
» Setup para Ruby / Rails: MacOS | Rodrigo Serradura | Sciencx | https://www.scien.cx/2024/07/11/setup-para-ruby-rails-macos/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.