Pular para o conteúdo principal

Configuração de Desenvolvimento no macOS

Este guia ajudará você a configurar seu ambiente de desenvolvimento no macOS para contribuir com o AirysChat. Abra o aplicativo Terminal e execute os seguintes comandos.

Instalando as Ferramentas de Linha de Comando Independentes

Abra o aplicativo Terminal e execute:
xcode-select --install
Isso instala ferramentas essenciais de desenvolvimento, incluindo Git, GCC e outros utilitários de linha de comando.

Instalar o Homebrew

O Homebrew é o gerenciador de pacotes que faltava no macOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Após a instalação, adicione o Homebrew ao seu PATH (se não for adicionado automaticamente):
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Instalar o Git

brew update
brew install git
Configure o Git com suas informações:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Instalar o Gerenciador de Versões do Ruby

Escolha entre RVM ou rbenv para gerenciar as versões do Ruby.

Opção 1: Instalar o RVM (Recomendado)

curl -L https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

Opção 2: Instalar o rbenv (Alternativa)

brew install rbenv ruby-build
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc

Instalar o Ruby

As APIs do AirysChat são construídas em Ruby on Rails. Você precisa instalar o Ruby 3.2.2.

Se usar RVM:

rvm install ruby-3.2.2
rvm use 3.2.2 --default
source ~/.rvm/scripts/rvm

Se usar rbenv:

rbenv install 3.2.2
rbenv global 3.2.2
O rbenv identifica a versão do ruby a partir do arquivo .ruby-version na raiz do projeto e a carrega automaticamente.
Verifique a instalação do Ruby:
ruby --version
# Should output: ruby 3.2.2

Instalar o Node.js

O AirysChat requer a versão 20 do Node.js:
brew install node@20
Se precisar vincular (link) o Node.js 20:
brew link node@20
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Verifique a instalação do Node.js:
node --version
# Should output: v20.x.x

Instalar o pnpm

Usamos o pnpm como nosso gerenciador de pacotes para melhor desempenho:
brew install pnpm
Verifique a instalação do pnpm:
pnpm --version

Instalar o PostgreSQL

O banco de dados usado no AirysChat é o PostgreSQL.

Opção 1: PostgresApp (Recomendado)

  1. Baixe e instale o PostgresApp em https://postgresapp.com
  2. Esta é a maneira mais fácil de começar com o PostgreSQL no macOS
  3. Siga as instruções de configuração no site deles

Opção 2: Instalação via Homebrew

brew install postgresql@14
Inicie o serviço do PostgreSQL:
brew services start postgresql@14
Crie um usuário PostgreSQL:
createuser -s postgres
Conecte-se ao PostgreSQL para verificar a instalação:
psql postgres
# Type \q to exit

Instalar o Servidor Redis

O AirysChat usa o servidor Redis para atribuições de agentes e relatórios:
brew install redis
Inicie o serviço do Redis:
brew services start redis
Verifique a instalação do Redis:
redis-cli ping
# Should output: PONG

Instalar o ImageMagick

O AirysChat usa a biblioteca ImageMagick para redimensionar imagens para pré-visualizações e miniaturas:
brew install imagemagick
Verifique a instalação do ImageMagick:
convert --version

Instalar Dependências Adicionais

Instale outras ferramentas de desenvolvimento úteis:
# Install Yarn (alternative to pnpm if needed)
brew install yarn

# Install SQLite (for testing)
brew install sqlite

# Install libvips (for image processing)
brew install libvips

Instalar o Docker (Opcional)

Para desenvolvimento e testes com contêineres:
# Install Docker Desktop
brew install --cask docker
Ou baixe o Docker Desktop em https://www.docker.com/products/docker-desktop/.

Verificação do Ambiente

Verifique se todas as instalações estão funcionando:
# Check versions
ruby --version        # Should be 3.2.2
node --version         # Should be v20.x.x
pnpm --version        # Should show pnpm version
psql --version        # Should show PostgreSQL version
redis-cli --version   # Should show Redis version
convert --version     # Should show ImageMagick version
git --version         # Should show Git version

Configurar o Ambiente do Shell

Adicione aliases úteis ao seu arquivo de configuração do shell (~/.zshrc para Zsh):
# Add to ~/.zshrc
echo '# AirysChat Development Aliases' >> ~/.zshrc
echo 'alias cw-server="bundle exec rails server"' >> ~/.zshrc
echo 'alias cw-console="bundle exec rails console"' >> ~/.zshrc
echo 'alias cw-test="bundle exec rspec"' >> ~/.zshrc
echo 'alias cw-migrate="bundle exec rails db:migrate"' >> ~/.zshrc

# Reload shell configuration
source ~/.zshrc

Solução de Problemas Comuns

Solução: Atualize o macOS para a versão mais recente e tente novamente. Você também pode baixar o Xcode na App Store.
Solução:
sudo chown -R $(whoami) /opt/homebrew
Solução:
# Install missing dependencies
brew install openssl readline libyaml
rvm reinstall 3.2.2 --with-openssl-dir=$(brew --prefix openssl)
Solução:
# Restart PostgreSQL
brew services restart postgresql@14

# Check if it's running
brew services list | grep postgresql
Solução:
# If you encounter issues, try:
brew uninstall imagemagick
brew install imagemagick

Obtendo Ajuda

Se você encontrar problemas:
Seu ambiente de desenvolvimento macOS agora está pronto para o desenvolvimento do AirysChat! 🚀