Erros comuns e como resolvĂŞ-los. Antes de abrir uma issue, dĂŞ uma olhada aqui.
./setup.sh: Permission deniedchmod +x setup.sh
./setup.sh
node: command not foundVocĂŞ ainda nĂŁo instalou o Node 20+. Veja:
Node.js X detectado. Este projeto requer Node 20 ou superior.Atualize via nvm install 20 (Linux/macOS/WSL) ou pelo instalador oficial
(Windows). Confirme com node -v.
Set-ExecutionPolicy : Access denied (Windows)PolĂtica bloqueada por GPO. Use:
powershell -ExecutionPolicy Bypass -File .\setup.ps1
Sem mudar a polĂtica do sistema.
npm install trava em pacote nativoSe um pacote precisa compilar binários (em geral o sharp, node-canvas,
bcrypt):
winget install Microsoft.VisualStudio.2022.BuildTools e marque “Desenvolvimento para desktop com C++”.sudo apt install build-essential python3.xcode-select --install.💡 Este projeto usa
bcryptjs(puro JS), nĂŁobcrypt(nativo). Em teoria nĂŁo precisa de toolchain C++.
Error: SQLITE_BUSY: database is lockedAlgum outro processo está com o banco aberto. Geralmente:
next dev antigo ainda vivo — mate com kill ou
Stop-Process.Error: Schema is not in syncVocĂŞ editou schema.prisma e esqueceu de aplicar. Rode:
npx prisma db push --skip-generate
npx prisma generate
Error: Migration failedEsse projeto nĂŁo usa migrations. Se vocĂŞ rodou prisma migrate dev por
acidente, ignore — o db push é a fonte de verdade.
./setup.sh --reset-db
⚠️ Apaga todos os dados.
admin@admin.com e a senha do ADMIN_PASSWORD no .env
(padrĂŁo: admin).npm run db:seed.User where email = "admin@admin.com"./login e /dashboardSintoma: vocĂŞ loga, Ă© redirecionado pro dashboard, e volta pro login.
Causa comum: cookie de sessão não está sendo aceito pelo navegador.
NEXTAUTH_URL está com https mas o servidor está em http?AUTH_TRUST_HOST não está true?Tente:
/api/auth/callback/credentials.Sintoma: você submete o form de login, a página fica em /login, e só
quando recarrega manualmente Ă© que aparece o dashboard.
Causa: o signIn da Auth.js v5, sem redirectTo explĂcito, usa o
Referer como destino — que é a própria página de login
(/login?callbackUrl=...). O cookie Ă© setado corretamente, mas o
soft-nav do App Router pro mesmo path nĂŁo dispara o Response.redirect
do proxy.ts em algumas combinações Next.js 16 + Auth.js v5 beta.
Correção (já aplicada no projeto): o LoginForm agora injeta
redirectTo no formData, lendo o callbackUrl da query string (com
sanitização contra open-redirect) e caindo em /dashboard por padrão.
O Server Action authenticate também sanitiza o redirectTo recebido.
Se reaparecer apĂłs upgrade de next-auth, confirme que
src/app/login/login-form.tsx ainda
emite o <input type="hidden" name="redirectTo"> e que
src/app/actions/authActions.ts
chama formData.set("redirectTo", ...) antes do signIn.
Sem SMTP configurado? VocĂŞ pode resetar via banco:
node -e "
const bcrypt = require('bcryptjs');
const { PrismaClient } = require('@prisma/client');
const p = new PrismaClient();
(async () => {
const hash = await bcrypt.hash('novaSenhaForte', 10);
await p.user.update({ where: { email: 'admin@admin.com' }, data: { password: hash, mustChangePassword: true } });
console.log('Senha redefinida');
process.exit(0);
})();
"
/dashboard/onboardingUser.role = 'ADMIN').update().Limpe onboardingCompletedAt:
node -e "
const { PrismaClient } = require('@prisma/client');
const p = new PrismaClient();
(async () => {
await p.eventSettings.update({ where: { id: 'singleton' }, data: { onboardingCompletedAt: null } });
process.exit(0);
})();
"
PrĂłximo login do admin abre o wizard de novo.
NotificationLog no Prisma Studio. status = OK?
Provavelmente foi enviado, problema Ă© caixa de entrada/spam.status = ERROR? Olhe errorMsg.SMTP_PASS Ă© uma App Password (16
caracteres, nĂŁo a senha normal).systemctl status cron (Linux).curl -v -H "Authorization: Bearer SEU_CRON_SECRET" http://localhost:3005/api/cron/reminders
sent: 0? Não há pagamentos/tarefas no
range.Eventualmente Baileys reconecta sozinho. Se persistir:
rm -rf .whatsapp-auth/
pm2 restart wedding-management-system
# acessar Ajustes › WhatsApp e escanear de novo
Você precisará escanear o QR novamente.
Baileys envia em sequĂŞncia com pequeno delay. Para volume alto, considere migrar para WhatsApp Cloud API (paga, mas oficial e mais robusta).
PRAGMA journal_mode=WAL).revalidatePath() é amplo demais —
ajuste para revalidatePath('/dashboard/X').next dev lento na primeira navegaçãoNormal — Next.js compila sob demanda em dev. Use npm run build && npm run start
para sentir a velocidade real.
Module not found: Can't resolve '@prisma/client'Rode npx prisma generate para gerar o client.
Type error: Cannot find module ...Geralmente algum import desatualizado depois de mudar schema. Rode
npx prisma generate e reinicie o next dev.
Error: dynamic = 'force-dynamic' is not assignable to ...Você está exportando dynamic em um arquivo que não é uma página/route
handler. Mova para a Page/Route correspondente.
Verifique erros de tipo: npx tsc --noEmit. Corrija os reportados.
Tailwind 4 nĂŁo tem mais tailwind.config.js. Tokens customizados via
@theme em src/app/globals.css. Se vocĂŞ adicionou
algo novo:
@theme {
--color-rose-custom: #ff0066;
}
E use como bg-rose-custom. Faça hot reload.
Se nada aqui resolveu:
./setup.sh --reset-db).git rev-parse HEAD),
comandos exatos, erro completo.