Skip to content

Erros Comuns

Esta página reúne os erros mais frequentes encontrados durante a instalação, execução do coletor e manutenção do website, com suas respectivas soluções.

1. Playwright: Navegador Chromium não encontrado

Section titled “1. Playwright: Navegador Chromium não encontrado”

Sintoma:
Ao executar a coleta para revistas da plataforma SciELO, o terminal exibe o erro:
playwright._impl._errors.Error: Executable doesn't exist at /home/.../chromium

Causa:
O Playwright necessita dos binários do navegador instalados no ambiente para simular a navegação em páginas com renderização dinâmica em JavaScript.

Solução:
Instale os binários do Chromium gerenciados pelo ambiente virtual:

Terminal window
uv run playwright install chromium

Sintoma:
O coletor falha ao acessar determinados periódicos com a mensagem:
OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]

Causa:
Alguns portais institucionais utilizam versões legadas do OJS com cadeias de certificados intermediários desatualizadas.

Solução:
Verifique se a URL cadastrada em config/journals.json utiliza o protocolo HTTPS correto e execute o comando de validação para confirmar o endereço:

Terminal window
uv run open-journals-data validate-config

3. Inconsistência no config/journals.json

Section titled “3. Inconsistência no config/journals.json”

Sintoma:
O comando uv run open-journals-data crawl é interrompido imediatamente com erro de validação de chave ou tipo de dado.

Causa:
Uma revista foi adicionada ou editada no arquivo de configuração sem preencher campos obrigatórios (acronym, url, platform ou subject).

Solução:
Execute o validador para apontar a linha e o campo com divergência:

Terminal window
uv run open-journals-data validate-config

Corrija as pendências até obter a confirmação:

OK — 24 revistas válidas

4. Concorrência ou arquivo bloqueado no TinyDB

Section titled “4. Concorrência ou arquivo bloqueado no TinyDB”

Sintoma:
Erro de permissão ou leitura de arquivo JSON corrompido no diretório bd/.

Causa:
O TinyDB armazena os dados em bd/<codigo>/coleta_tinydb.json. Se duas instâncias do coletor forem iniciadas simultaneamente ou uma coleta for interrompida de forma abrupta, o arquivo pode reter travas de escrita.

Solução:

  1. Verifique se não há outro processo do Scrapy rodando em segundo plano:
    Terminal window
    ps aux | grep open-journals-data
  2. Caso o processo anterior tenha sido encerrado, exclua o arquivo temporário corrompido e reinicie a coleta da revista específica.

1. Falha no hook de Pre-commit (Commit rejeitado)

Section titled “1. Falha no hook de Pre-commit (Commit rejeitado)”

Sintoma:
Ao executar git commit, o terminal exibe mensagem de erro e aborta a operação:
Commit message does not follow Conventional Commits format

Causa:
A mensagem de commit não seguiu o padrão estabelecido pelo laboratório ou o código possui inconformidades de formatação detectadas pelo Ruff.

Solução:

  1. Formate o código automaticamente antes de commitar:
    Terminal window
    uv run ruff format .
  2. Utilize mensagens no padrão Conventional Commits:
    • feat: nova funcionalidade
    • fix: correção de bug
    • docs: alteração em documentação
    • chore: ajustes em dependências ou configurações

Sintoma:
O Git acusa conflito de conteúdo no arquivo website/package-lock.json e a etapa CI / Build do website falha no GitHub Actions.

Causa:
Dependências foram atualizadas na branch main paralelamente às alterações na branch de trabalho.

Solução:
Regere o arquivo de dependências limpo a partir do npm:

Terminal window
cd website
npm install
cd ..
git add website/package-lock.json
git commit -m "chore(site): resolve conflitos de merge no package-lock.json"