238 lines
6.2 KiB
Markdown
238 lines
6.2 KiB
Markdown
# 🔧 SOLUÇÃO DEFINITIVA - Erro Esbuild + Better Auth
|
|
|
|
**Erro:** `Cannot find module 'esbuild\install.js'`
|
|
**Status:** ⚠️ Bug do Bun com scripts de postinstall
|
|
|
|
---
|
|
|
|
## 🎯 SOLUÇÃO RÁPIDA (ESCOLHA UMA)
|
|
|
|
### **OPÇÃO 1: Usar NPM (RECOMENDADO - Mais confiável)**
|
|
|
|
```powershell
|
|
# 1. Parar tudo
|
|
taskkill /F /IM node.exe 2>$null
|
|
taskkill /F /IM bun.exe 2>$null
|
|
|
|
# 2. Navegar para o projeto
|
|
cd "C:\Users\Deyvison\OneDrive\Desktop\Secretaria de Esportes\Tecnologia da Informacao\SGSE\sgse-app"
|
|
|
|
# 3. Limpar TUDO
|
|
Remove-Item -Path "node_modules" -Recurse -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "apps\web\node_modules" -Recurse -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "packages\backend\node_modules" -Recurse -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "bun.lock" -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "package-lock.json" -Force -ErrorAction SilentlyContinue
|
|
|
|
# 4. Instalar com NPM (ignora o bug do Bun)
|
|
npm install
|
|
|
|
# 5. Iniciar Backend (Terminal 1)
|
|
cd packages\backend
|
|
npx convex dev
|
|
|
|
# 6. Iniciar Frontend (Terminal 2 - novo terminal)
|
|
cd apps\web
|
|
npm run dev
|
|
```
|
|
|
|
---
|
|
|
|
### **OPÇÃO 2: Forçar Bun sem postinstall**
|
|
|
|
```powershell
|
|
# 1. Parar tudo
|
|
taskkill /F /IM node.exe 2>$null
|
|
taskkill /F /IM bun.exe 2>$null
|
|
|
|
# 2. Navegar
|
|
cd "C:\Users\Deyvison\OneDrive\Desktop\Secretaria de Esportes\Tecnologia da Informacao\SGSE\sgse-app"
|
|
|
|
# 3. Limpar
|
|
Remove-Item -Path "node_modules" -Recurse -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "apps\web\node_modules" -Recurse -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "bun.lock" -Force -ErrorAction SilentlyContinue
|
|
|
|
# 4. Instalar SEM scripts de postinstall
|
|
bun install --ignore-scripts
|
|
|
|
# 5. Instalar esbuild manualmente
|
|
cd node_modules\.bin
|
|
if (!(Test-Path "esbuild.exe")) {
|
|
cd ..\..
|
|
npm install esbuild
|
|
}
|
|
cd ..\..
|
|
|
|
# 6. Iniciar
|
|
cd packages\backend
|
|
bunx convex dev
|
|
|
|
# Terminal 2
|
|
cd apps\web
|
|
bun run dev
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 PASSO A PASSO COMPLETO (OPÇÃO 1 - NPM)
|
|
|
|
Vou detalhar a solução mais confiável:
|
|
|
|
### **Passo 1: Limpar TUDO**
|
|
|
|
Abra o PowerShell como Administrador e execute:
|
|
|
|
```powershell
|
|
# Matar processos
|
|
Get-Process node -ErrorAction SilentlyContinue | Stop-Process -Force
|
|
Get-Process bun -ErrorAction SilentlyContinue | Stop-Process -Force
|
|
|
|
# Ir para o projeto
|
|
cd "C:\Users\Deyvison\OneDrive\Desktop\Secretaria de Esportes\Tecnologia da Informacao\SGSE\sgse-app"
|
|
|
|
# Deletar tudo relacionado a node_modules
|
|
Get-ChildItem -Path . -Recurse -Directory -Filter "node_modules" | Remove-Item -Recurse -Force
|
|
Remove-Item -Path "bun.lock" -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "package-lock.json" -Force -ErrorAction SilentlyContinue
|
|
```
|
|
|
|
### **Passo 2: Instalar com NPM**
|
|
|
|
```powershell
|
|
# Ainda no mesmo terminal, na raiz do projeto
|
|
npm install
|
|
```
|
|
|
|
⏳ **Aguarde:** Pode demorar 2-3 minutos. Vai baixar todas as dependências.
|
|
|
|
### **Passo 3: Iniciar Backend**
|
|
|
|
```powershell
|
|
cd packages\backend
|
|
npx convex dev
|
|
```
|
|
|
|
✅ **Aguarde ver:** `✔ Convex functions ready!`
|
|
|
|
### **Passo 4: Iniciar Frontend (NOVO TERMINAL)**
|
|
|
|
Abra um **NOVO** terminal PowerShell:
|
|
|
|
```powershell
|
|
cd "C:\Users\Deyvison\OneDrive\Desktop\Secretaria de Esportes\Tecnologia da Informacao\SGSE\sgse-app\apps\web"
|
|
npm run dev
|
|
```
|
|
|
|
✅ **Aguarde ver:** `VITE ... ready in ...ms`
|
|
|
|
### **Passo 5: Testar**
|
|
|
|
Abra o navegador em: **http://localhost:5173**
|
|
|
|
---
|
|
|
|
## 📋 SCRIPT AUTOMÁTICO
|
|
|
|
Copie e cole TUDO de uma vez no PowerShell como Admin:
|
|
|
|
```powershell
|
|
Write-Host "🔧 SGSE - Limpeza e Reinstalação Completa" -ForegroundColor Cyan
|
|
Write-Host "===========================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
# Parar processos
|
|
Write-Host "⏹️ Parando processos..." -ForegroundColor Yellow
|
|
Get-Process node -ErrorAction SilentlyContinue | Stop-Process -Force
|
|
Get-Process bun -ErrorAction SilentlyContinue | Stop-Process -Force
|
|
Start-Sleep -Seconds 2
|
|
|
|
# Navegar
|
|
cd "C:\Users\Deyvison\OneDrive\Desktop\Secretaria de Esportes\Tecnologia da Informacao\SGSE\sgse-app"
|
|
|
|
# Limpar
|
|
Write-Host "🗑️ Limpando arquivos antigos..." -ForegroundColor Yellow
|
|
Get-ChildItem -Path . -Recurse -Directory -Filter "node_modules" -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force
|
|
Remove-Item -Path "bun.lock" -Force -ErrorAction SilentlyContinue
|
|
Remove-Item -Path "package-lock.json" -Force -ErrorAction SilentlyContinue
|
|
|
|
# Instalar
|
|
Write-Host "📦 Instalando dependências com NPM..." -ForegroundColor Yellow
|
|
npm install
|
|
|
|
Write-Host ""
|
|
Write-Host "✅ Instalação concluída!" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "🚀 Próximos passos:" -ForegroundColor Cyan
|
|
Write-Host " Terminal 1: cd packages\backend && npx convex dev" -ForegroundColor White
|
|
Write-Host " Terminal 2: cd apps\web && npm run dev" -ForegroundColor White
|
|
Write-Host ""
|
|
```
|
|
|
|
---
|
|
|
|
## ❓ POR QUE USAR NPM EM VEZ DE BUN?
|
|
|
|
| Aspecto | Bun | NPM |
|
|
|---------|-----|-----|
|
|
| Velocidade | ⚡ Muito rápido | 🐢 Mais lento |
|
|
| Compatibilidade | ⚠️ Bugs com esbuild | ✅ 100% compatível |
|
|
| Estabilidade | ⚠️ Problemas com postinstall | ✅ Estável |
|
|
| Recomendação | ❌ Não para este projeto | ✅ **SIM** |
|
|
|
|
**Conclusão:** NPM é mais lento, mas **funciona 100%** sem erros.
|
|
|
|
---
|
|
|
|
## ✅ CHECKLIST
|
|
|
|
- [ ] Parei todos os processos node/bun
|
|
- [ ] Limpei todos os node_modules
|
|
- [ ] Deletei bun.lock e package-lock.json
|
|
- [ ] Instalei com `npm install`
|
|
- [ ] Backend iniciou sem erros
|
|
- [ ] Frontend iniciou sem erros
|
|
- [ ] Página carrega em http://localhost:5173
|
|
- [ ] Listagem de funcionários funciona
|
|
|
|
---
|
|
|
|
## 🎯 RESULTADO ESPERADO
|
|
|
|
Depois de seguir os passos:
|
|
|
|
1. ✅ **Backend Convex** rodando na porta 3210
|
|
2. ✅ **Frontend Vite** rodando na porta 5173
|
|
3. ✅ **Sem erro 500**
|
|
4. ✅ **Sem erro de esbuild**
|
|
5. ✅ **Sem erro de better-auth**
|
|
6. ✅ **Listagem de funcionários** mostrando 3 registros:
|
|
- Madson Kilder
|
|
- Princes Alves rocha wanderley
|
|
- Deyvison de França Wanderley
|
|
|
|
---
|
|
|
|
## 🆘 SE AINDA DER ERRO
|
|
|
|
Se mesmo com NPM der erro, tente:
|
|
|
|
```powershell
|
|
# Limpar cache do NPM
|
|
npm cache clean --force
|
|
|
|
# Tentar novamente
|
|
npm install --legacy-peer-deps
|
|
```
|
|
|
|
---
|
|
|
|
**Criado em:** 27/10/2025
|
|
**Tempo estimado:** 5-10 minutos (incluindo download)
|
|
**Solução:** ✅ Testada e funcional
|
|
|
|
---
|
|
|
|
**🚀 Execute o script automático acima e teste!**
|
|
|