Skip to main content

Erros do Dependabot

Dependabot mantém automaticamente suas dependências, mantendo seu código seguro e atual. Essa referência ajuda você a diagnosticar e resolver problemas para que as atualizações automatizadas possam continuar.

Quando Dependabot encontrar erros ao atualizar suas dependências, você pode usar essa referência para diagnosticar e corrigir problemas comuns.

Como exibir erros

Erros de atualização de segurança

Quando Dependabot está impedido de criar uma pull request para corrigir um alerta de Dependabot, ele publica a mensagem de erro no alerta. A exibição do Dependabot alerts mostra uma lista de todos os alertas que ainda não foram resolvidos. Para acessar a exibição de alertas, clique em Dependabot alerts na guia Segurança do repositório. Quando um pull request que corrigirá a dependência vulnerável foi gerado, o alerta inclui um link para esse pull request.

Captura de tela da exibição do Dependabot alerts. À direita de um alerta, um link para uma pull request, intitulado "#353", é descrito em laranja.

Um alerta pode não ter nenhum link de solicitação de pull por vários motivos:

  1. Dependabot security updates não estão habilitadas para o repositório.
  2. O alerta é para uma dependência indireta ou transitória que não está explicitamente definida em um arquivo de bloqueio.
  3. Um erro impediu Dependabot de criar um pull request.

Para exibir detalhes do erro, clique no alerta.

Erros de atualização de versão

Quando o Dependabot for impedido de criar uma pull request para atualizar uma dependência em um ecossistema, você poderá ver a lista de logs de trabalho para saber mais sobre o erro.

A lista de logs de trabalho pode ser acessada no gráfico de dependências de um repositório. No gráfico de dependências, clique na guia do Dependabot e à direita do arquivo de manifesto afetado, clique em Trabalhos de atualização recentes.

Para exibir os arquivos de log completos de um trabalho específico, à direita da entrada de log em que você está interessado, clique em exibir logs.

Captura de tela das entradas de log de trabalhos do Dependabot para um arquivo de manifesto. Um botão chamado "Exibir logs" é realçado em um contorno laranja-escuro.

Para saber mais, confira Exibir logs de trabalho do Dependabot.

Erros de resolução de dependência

Não é possível atualizar DEPENDENCY para uma versão não vulnerável

          **Aplica-se a:** Somente atualizações de segurança

          **Mensagem de erro:**`Dependabot cannot update DEPENDENCY to a non-vulnerable version`

O Dependabot não pode criar uma pull request para atualizar a dependência vulnerável para uma versão segura sem desfazer outras dependências no grafo de dependência desse repositório.

Cada aplicativo com dependências tem um gráfico de dependências, ou seja, um gráfico direcionado acíclico de cada versão de pacote da qual o aplicativo depende direta ou indiretamente. Toda vez que uma dependência é atualizada, este gráfico deve ser resolvido. Caso contrário, o aplicativo não será criado. Quando um ecossistema tem um gráfico de dependência profundo e complexo, por exemplo, npm e RubyGems, geralmente é impossível atualizar uma única dependência sem atualizar todo o ecossistema.

          **Resolução:** Mantenha-se atualizado com as versões lançadas mais recentemente, por exemplo, habilitando atualizações de versão. Isso aumenta a probabilidade de que uma vulnerabilidade em uma dependência possa ser resolvida por meio de uma atualização simples que não afete o gráfico de dependência. Confira [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates).

Atualiza dependências sem um alerta

          **Aplica-se a:** Somente atualizações de segurança

          **Mensagem de erro:**`Dependabot tries to update dependencies without an alert`

Dependabot atualiza dependências transitivas definidas explicitamente que são vulneráveis para todos os ecossistemas. Para npm, Dependabot gerará uma pull request que também atualizará a dependência pai se for a única maneira de corrigir a dependência transitiva.

Por exemplo, um projeto com uma dependência no A versão ~2.0.0 que tem uma dependência transitiva no B versão ~1.0.0 que foi resolvido para 1.0.1.

my project
|
--> A (2.0.0) [~2.0.0]
       |
       --> B (1.0.1) [~1.0.0]

Se uma vulnerabilidade de segurança for lançada para o B versões <2.0.0 e um patch estiver disponível em 2.0.0, então Dependabot tentará atualizar B, mas descobrirá que não é possível, devido à restrição em vigor pelo A, que só permite versões vulneráveis mais baixas. Para corrigir a vulnerabilidade, Dependabot procurará atualizações na dependência A, que permitem que seja usada a versão corrigida de B.

Dependabot gera automaticamente uma pull request que atualiza as dependências transitivas pai e filho bloqueados.

Não é possível fechar a solicitação de pull para uma atualização que já foi aplicada

          **Mensagem de erro:**`Dependabot fails to close a open pull request for an update that has already been applied on the default branch`

O Dependabot fechará pull requests para atualizações de dependência assim que detectar que essas atualizações foram confirmadas na ramificação padrão. No entanto, em raras circunstâncias, a pull request pode permanecer aberta.

          **Resolução:** Se você observar que comprometeu uma atualização para uma dependência manualmente e que a solicitação de pull para essa mesma atualização ainda está aberta, você pode usar um dos seguintes comandos em um comentário sobre a solicitação de pull:

* @dependabot recreate, ou * @dependabot rebase.

Qualquer comentário disparará o Dependabot para verificar se a dependência não é mais atualizável ou vulnerável. Se o Dependabot detectar que a pull request não é mais obrigatória, ele fechará a pull request nesse caso específico.

Para obter mais informações sobre comandos de comentário do Dependabot, confira Gerenciar pull requests para atualizações de dependências.

Não é possível atualizar para a versão necessária, pois já há uma solicitação de pull aberta para a versão mais recente

          **Aplica-se a:** Somente atualizações de segurança

          **Mensagem de erro:**`Dependabot cannot update to the required version as there is already an open pull request for the latest version`

O Dependabot não criará uma pull request para atualizar a dependência vulnerável para uma versão segura porque já há uma pull request em aberto para atualizar essa dependência. Você verá este erro quando uma vulnerabilidade for detectada em uma única dependência e já houver um pull request aberto para atualizar a dependência para a última versão.

          **Resolução:** Você pode examinar a solicitação de pull aberta e mesclá-la assim que tiver certeza de que a alteração é segura ou fechar essa solicitação de pull e disparar uma nova solicitação de pull de atualização de segurança. Consulte [Acionar uma solicitação de pull Dependabot manualmente](#triggering-a-dependabot-pull-request-manually).

Nenhuma atualização de segurança necessária

          **Aplica-se a:** Somente atualizações de segurança

          **Mensagem de erro:**`No security update is needed as DEPENDENCY is no longer vulnerable`

O Dependabot não podem fechar uma solicitação pull para atualizar uma dependência que não é ou que deixou de ser vulnerável. Você pode ver esse erro quando os dados do gráfico de dependência são obsoletos ou quando o gráfico de dependência e o Dependabot não concordam se uma versão específica de uma dependência estiver vulnerável.

          **Resolução:** Primeiro examine o grafo de dependência do repositório, examine qual versão ele detectou para a dependência e verifique se a versão identificada corresponde ao que está sendo usado em seu repositório.

Se você suspeitar de que os dados do gráfico de dependência estejam desatualizados, talvez seja necessário atualizar manualmente o gráfico de dependência do repositório ou investigar mais as informações de dependência. Confira Solução de problemas para o gráfico de dependências.

Se conseguir confirmar que a versão da dependência não está mais vulnerável, você poderá fechar a solicitação pull do Dependabot.

Erros de solicitação de pull

Limite de solicitação de pull atingido

          **Mensagem de erro:**`Dependabot cannot open any more pull requests`

Há um limite no número de pull requests abertos que Dependabot irá gerar. Quando este limite é atingido, nenhum pull request novo será aberto e este erro será relatado.

          **Limites:**
  • Solicitações de pull de atualização de segurança: 10
  • Solicitações de pull para atualização de versão: 5 (configuráveis usando open-pull-requests-limit)

Existem limites separados para solicitações de atualização de versões e segurança, para que os pull requests de atualização de versão aberta não possam bloquear a criação de uma solicitação de atualização de segurança. Para saber mais, confira Referência de opções do Dependabot.

          **Resolução:** Mesclar ou fechar algumas das solicitações de pull existentes e disparar uma nova solicitação de pull manualmente. confira [Como disparar uma solicitação de pull do Dependabot manualmente](#triggering-a-dependabot-pull-request-manually).

Erros de tempo limite e desempenho

Tempo de atualização expirou

          **Mensagem de erro:**`Dependabot timed out during its update`

Dependabot demorou mais do que o tempo máximo permitido para avaliar a atualização necessária e preparar um pull request. Em geral, esse erro é visto apenas em repositórios grandes com muitos arquivos de manifesto, por exemplo, projetos de repositório único do npm ou do YARN com centenas de arquivos package.json. As atualizações no ecossistema do Composer também levam mais tempo para ser avaliadas e podem expirar.

          **Resolução para atualizações de versão:** Especifique as dependências mais importantes a serem atualizadas usando o `allow` parâmetro ou, como alternativa, use o `ignore` parâmetro para excluir algumas dependências das atualizações. Atualizar sua configuração pode permitir que Dependabot revise a atualização da versão e gere a pull request no tempo disponível.

          **Resolução para atualizações de segurança:** Reduza as chances de ocorrências de timeout mantendo as dependências atualizadas, por exemplo, habilitando atualizações de versão. Para saber mais, confira [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates).

Agrupamento de erros

Falha ao agrupar dependências (atualizações de versão)

          **Aplica-se a:** Somente atualizações de versão

          **Mensagem de erro:**`Dependabot fails to group a set of dependencies into a single pull request for Dependabot version updates`

As definições de configuração de groups no arquivo dependabot.yml podem se aplicar a atualizações de versão e atualizações de segurança. Use a chave applies-to para especificar onde (atualizações de versão ou atualizações de segurança) um conjunto de regras de agrupamento é aplicado.

Não é possível aplicar um único conjunto de regras de agrupamento a atualizações de versão e a atualizações de segurança. Em vez disso, se quiser agrupar atualizações de versão e atualizações de segurança usando os mesmos critérios, você deverá definir dois conjuntos de regras de agrupamento com nomes separados.

Ao configurar atualizações de versão agrupadas, você deve configurar grupos por ecossistema de pacote.

          **Causa comum – grupos vazios:** Você pode ter criado grupos vazios sem querer. Isso acontece, por exemplo, ao definir um `dependency-type` na chave `allow` do trabalho geral.
YAML
allow:
  dependency-type: production
  # this restricts the entire job to production dependencies
  groups:
      development-dependencies:
        dependency-type: "development"
        # this group will always be empty

Neste exemplo, Dependabot:

  1. Confira a lista de dependências e restrinja o trabalho às dependências usadas apenas em production.
  2. Tente criar um grupo chamado development-dependencies, que é um subconjunto dessa lista reduzida.
  3. Determine se o grupo development-dependencies está vazio, pois todas as dependências development foram removidas na etapa 1.
  4.           Atualize **individualmente** todas as dependências que não estão no grupo. Como o grupo de dependências em produção está vazio, Dependabot ignorará o grupo e criará uma pull request separada para cada dependência.
    
           **Resolução:** Verifique se as configurações não se cancelam e atualize-as adequadamente no arquivo de configuração. Para depurar o problema, examine os logs. Para obter informações sobre como acessar os logs de um manifesto, consulte [Como exibir erros](#how-to-view-errors).
    

Para saber mais sobre como configurar grupos de Dependabot version updates, confira Referência de opções do Dependabot.

Não foi possível agrupar dependências (atualizações de segurança)

          **Aplica-se a:** Somente atualizações de segurança

          **Mensagem de erro:**`Dependabot fails to group a set of dependencies into a single pull request for Dependabot security updates`

As definições de configuração de groups no arquivo dependabot.yml podem se aplicar a atualizações de versão e atualizações de segurança. Use a chave applies-to para especificar onde (atualizações de versão ou atualizações de segurança) um conjunto de regras de agrupamento é aplicado. Verifique se você tem o agrupamento configurado para aplicar a atualizações de segurança. Se a chave applies-to estiver ausente de um conjunto de regras de agrupamento em sua configuração, qualquer regra de grupo será por padrão aplicada apenas a atualizações de versão.

Não é possível aplicar um único conjunto de regras de agrupamento a atualizações de versão e a atualizações de segurança. Em vez disso, se quiser agrupar atualizações de versão e atualizações de segurança usando os mesmos critérios, você deverá definir dois conjuntos de regras de agrupamento com nomes separados.

          **Diretrizes de agrupamento para atualizações de segurança:**
  • O Dependabot agrupará dependências do mesmo ecossistema de pacotes que estão localizadas em diretórios diferentes quando regras de agrupamento são especificadas para configurações que usam a chave directories.
  • O Dependabot aplicará outras opções de personalização relevantes do arquivo dependabot.yml para receber solicitações de atualizações de segurança agrupadas. As regras de grupo configuradas em um arquivo dependabot.yml substituirão as configurações da interface do usuário para habilitar ou desabilitar atualizações de segurança agrupadas no nível da organização ou do repositório.
  • O Dependabot não agrupará dependências de diferentes ecossistemas de pacotes.
  • Dependabot não agrupará atualizações de segurança com atualizações de versão.

Para saber mais, confira Sobre as atualizações de segurança do Dependabot e Personalizar pull requests para atualizações de segurança do Dependabot.

Falha ao atualizar a dependência na solicitação de pull agrupada

          **Mensagem de erro:**`Dependabot fails to update one of the dependencies in a grouped pull request`

Você pode usar diferentes técnicas de solução de problemas para atualizações de versão com falha e atualizações de segurança com falha.

Atualizações de versão

          **Aplica-se a:** Somente atualizações de versão

Dependabot mostrará a atualização com falha em seus logs, assim como no resumo do trabalho no final de seus logs.

          **Resolução :**
  1. Use o comentário @dependabot recreate na solicitação de pull para compilar o grupo novamente. Confira Gerenciar pull requests para atualizações de dependências.
  2. Se a dependência ainda não for atualizada, use a exclude-patterns configuração para que a dependência seja excluída do grupo. Dependabot gerará uma pull request separada para atualizar a dependência.
  3. Se a atualização da dependência ainda falhar, pode haver um problema com a própria dependência ou com Dependabot nesse ecossistema específico.

Se você desejar ignorar as atualizações de versão para a dependência, siga um destes procedimentos.

Atualizações de segurança

          **Aplica-se a:** Somente atualizações de segurança

Se uma solicitação pull agrupada para atualizações de segurança falhar ou não puder ser mesclada, abra manualmente solicitações pull para atualizar as versões das alterações significativas. Quando você atualiza manualmente um pacote incluído em uma pull request agrupada, o Dependabot trocará a base da pull request para que ela não inclua o pacote atualizado manualmente.

Se você desejar ignorar as atualizações de versão para a dependência, siga um destes procedimentos.

Falha na integração contínua na solicitação de pull agrupada

          **Aplica-se a:** Somente atualizações de versão

          **Mensagem de erro:**`Continuous integration (CI) fails on my grouped pull request`

          **Resolução :**

Se a falha for devido a uma única dependência, use a exclude-patterns configuração para que a dependência seja excluída do grupo. Dependabot gerará uma pull request separada para atualizar a dependência.

Se você desejar ignorar as atualizações de versão para a dependência, siga um destes procedimentos.

Se você continuar a ver falhas de CI, remova a configuração do grupo para que Dependabot volte a gerar solicitações de pull individuais para cada dependência. Em seguida, verifique e confirme se a atualização funciona corretamente para cada solicitação de pull individual.

Erros de autenticação e registro

Não é possível resolver ou acessar dependências

          **Mensagem de erro:**`Dependabot can't resolve your LANGUAGE dependency files`

          **Tipo de erro de API:**`git_dependencies_not_reachable`

Se Dependabot tentar verificar se as referências de dependências precisam ser atualizadas em um repositório, mas não pode acessar um ou mais dos arquivos referenciados, a operação falhará.

Erros no repositório de pacotes privados

Dependabot pode gerar um dos seguintes erros quando não consegue acessar um registro de pacotes privado:

Mensagem de erroTipo de erro de API
Dependabot não consegue acessar uma dependência em um repositório privado de pacotesprivate_source_not_reachable
"Dependabot não pode autenticar-se em um repositório de pacote privado"private_source_authentication_failure
"Dependabot atingiu o tempo limite enquanto esperava por um registro de pacote privado"private_source_timed_out
"Dependabot não pôde validar o certificado para um registro de pacote privado"private_source_certificate_failure
          **Resolução:** Verifique se todas as dependências referenciadas estão hospedadas em locais acessíveis.

          **Somente atualizações de versão:** Ao executar atualizações de segurança ou versão, alguns ecossistemas devem ser capazes de resolver todas as dependências de sua fonte para verificar se as atualizações foram bem-sucedidas. Se o seu manifesto ou arquivos de bloqueio contiverem dependências privadas, Dependabot deverá ser capaz de acessar o local em que essas dependências estão hospedadas. Os proprietários da organização podem conceder a Dependabot acesso a repositórios privados que contêm dependências para um projeto dentro da mesma organização. Para saber mais, confira [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-dependabot-to-access-private-or-internal-dependencies). Você pode configurar o acesso a registros privados no arquivo de configuração `dependabot.yml` de um repositório. Para saber mais, confira [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot). Adicionalmente, Dependabot não é compatível com dependências privadas GitHub para todos os gerenciadores de pacote. Confira [AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories).

Acionar um pull request de Dependabot manualmente

Se você desbloquear Dependabot, você poderá iniciar manualmente uma nova tentativa de criar um pull request.

          **Para atualizações de segurança:** Exiba o alerta Dependabot que mostra o erro corrigido e clique em **Criar Dependabot atualização de segurança**.

          **Para atualizações de versão:** Na guia **Insights** do repositório, clique no **grafo de dependências** e, em seguida, clique na guia **Dependabot**. Clique em **Última verificação _TIME_ atrás** para ver o arquivo de log que Dependabot gerou durante a última verificação de atualizações de versão. Clique em **Procurar atualizações**.

Leitura adicional

  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph)
    
  •         [AUTOTITLE](/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerable-dependency-detection)