Pular para o conteúdo principal

Configuração de Desenvolvimento no Windows

Este guia guiará você pela configuração de seu ambiente de desenvolvimento no Windows para contribuir com o AirysChat. Usaremos o Windows Subsystem for Linux 2 (WSL2), que fornece a melhor experiência de desenvolvimento no Windows.

Requisitos

Você precisa instalar o Windows Subsystem for Linux 2 (WSL2) na sua máquina com Windows.

Pré-requisitos

  • Windows 10 versão 2004 ou superior (Build 19041 ou superior) ou Windows 11
  • Privilégios de administrador na sua máquina Windows

Passo 1: Ativar o Modo de Desenvolvedor

O primeiro passo é ativar o “Modo de Desenvolvedor” no Windows. Você pode fazer isso abrindo as Configurações e navegando até “Atualização e Segurança”. Lá, escolha a aba à esquerda que diz “Para Desenvolvedores”. Ligue a opção “Modo de desenvolvedor” para ativá-lo. Ativar Modo de Desenvolvedor

Passo 2: Ativar o Windows Subsystem for Linux

Em seguida, você deve ativar o Windows Subsystem for Linux. Abra o “Painel de Controle” e vá em “Programas e Recursos”. Clique no link à esquerda “Ativar ou desativar recursos do Windows”. Procure a opção “Subsistema do Windows para Linux” e marque a caixa de seleção ao lado dela. Ativar WSL Você também precisará ativar a “Plataforma de Máquina Virtual” para o WSL2. Certifique-se de que ambas as caixas de seleção estejam marcadas:
  • ✅ Subsistema do Windows para Linux
  • ✅ Plataforma de Máquina Virtual
Depois de ativar esses recursos, reinicie o computador.

Passo 3: Instalar o WSL2 e o Ubuntu

Opção 1: Usando a Microsoft Store (Recomendado)

  1. Abra a Microsoft Store e pesquise por “Ubuntu”
  2. Instale o Ubuntu 22.04 LTS (ou a última versão LTS)
  3. Inicie o Ubuntu pelo Menu Iniciar

Opção 2: Usando Linha de Comando

Abra o PowerShell como Administrador e execute:
# Install WSL2 with Ubuntu
wsl --install -d Ubuntu-22.04

# Set WSL2 as default version
wsl --set-default-version 2

Passo 4: Configuração Inicial do Ubuntu

Quando você iniciar o Ubuntu pela primeira vez, você será solicitado a criar uma conta de usuário:
# Create a username and password when prompted
# This will be your Linux user account
Atualize os pacotes do sistema:
sudo apt update && sudo apt upgrade -y

Passo 5: Instalar Dependências Principais

Você precisa instalar as dependências principais do Linux para instalar o Ruby e outras ferramentas.
sudo apt-get update
sudo apt-get install -y git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev

Instalando o RVM e o Ruby

Instale as dependências adicionais necessárias para o RVM:
sudo apt-get install -y libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
Instale o RVM e a versão 3.2.2 do Ruby:
# Add RVM GPG keys
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

# Install RVM
curl -sSL https://get.rvm.io | bash -s stable

# Load RVM into current session
source ~/.rvm/scripts/rvm

# Install Ruby 3.2.2
rvm install 3.2.2
rvm use 3.2.2 --default

# Verify installation
ruby -v

Instalar o Node.js

O AirysChat requer a versão 20 do Node.js. Instale o Node.js do NodeSource usando os seguintes comandos:
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
Verifique a instalação do Node.js:
node --version
# Should output: v20.x.x

Instalar o pnpm

Usamos o pnpm como gerenciador de pacotes para obter melhor desempenho:
# Install pnpm globally
npm install -g pnpm

# Verify installation
pnpm --version

Instalar o PostgreSQL

O banco de dados usado no AirysChat é o PostgreSQL. Use os seguintes comandos para instalar o PostgreSQL:
sudo apt install -y postgresql postgresql-contrib
O procedimento de instalação criou uma conta de usuário chamada postgres, associada à função padrão do Postgres. Para usar o PostgreSQL, você pode fazer login nessa conta:
sudo -u postgres psql
Instale as dependências do libpq-dev para o Ubuntu:
sudo apt-get install -y libpq-dev
Inicie o serviço do PostgreSQL:
sudo service postgresql start
Configure o PostgreSQL para iniciar automaticamente:
echo 'sudo service postgresql start' >> ~/.bashrc
Crie um usuário de banco de dados:
# Switch to postgres user and create a superuser
sudo -u postgres createuser --superuser $USER

# Set password for your user
sudo -u postgres psql -c "ALTER USER $USER PASSWORD 'password';"

Instalar o Servidor Redis

O AirysChat usa o servidor Redis para atribuições de agentes e relatórios. Para instalar o redis-server:
sudo apt-get install -y redis-server
Inicie o serviço do Redis:
sudo service redis-server start
Configure o Redis para iniciar automaticamente:
echo 'sudo service redis-server start' >> ~/.bashrc
Habilite o Redis para iniciar na inicialização do sistema:
sudo systemctl enable redis-server.service

Instalar o ImageMagick

O AirysChat usa o ImageMagick para processamento de imagens:
sudo apt-get install -y imagemagick libmagickwand-dev

Configurar o Git

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

Configuração Específica para Windows

Instalar o VS Code com a Extensão WSL

  1. Instale o Visual Studio Code no Windows em https://code.visualstudio.com/
  2. Instale a extensão Remote - WSL do marketplace de Extensões
  3. Abra seu projeto no WSL executando code . do seu terminal WSL

Configurar Permissões de Arquivo

O WSL2 pode ter problemas de permissão de arquivo. Corrija-os:
# Add to ~/.bashrc for better file permissions
echo 'umask 022' >> ~/.bashrc

# Configure Git to ignore file mode changes
git config --global core.filemode false

Verificação do Ambiente

Verifique se todas as instalações estão funcionando corretamente:
# Check all 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 ping        # Should output: PONG
convert --version     # Should show ImageMagick version
git --version         # Should show Git version

Solução de Problemas Comuns

Solução: Certifique-se de que a virtualização está ativada na BIOS e que os recursos do Windows estão ativados corretamente:
  1. Reinicie o computador e entre nas configurações da BIOS
  2. Ative a virtualização Intel VT-x ou AMD-V
  3. Ative o Hyper-V nos Recursos do Windows
  4. Reinicie e tente a instalação novamente
Solução: Redefina o WSL ou reinstale o Ubuntu:
# Reset Ubuntu (will delete all data)
wsl --unregister Ubuntu-22.04
wsl --install -d Ubuntu-22.04
Solução: Verifique se o serviço do PostgreSQL no Windows está causando conflito:
# Stop Windows PostgreSQL service first (run in Windows Command Prompt as Admin)
net stop postgresql-x64-14

# Then start WSL2 PostgreSQL
sudo service postgresql start
Solução: Corrija as permissões de arquivos:
# For the entire project
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

# For executable files
chmod +x bin/*
Solução: Certifique-se de que o código está armazenado no sistema de arquivos do WSL2:
# Good: Store code here (fast)
/home/username/projects/airyschat

# Avoid: Storing code here (slow)
/mnt/c/Users/Username/projects/airyschat
Se você encontrar problemas durante a configuração:
Seu ambiente de desenvolvimento Windows com o WSL2 agora está pronto para o desenvolvimento do AirysChat! 🪟🐧