Ao 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 é impedido de criar uma solicitação de pull para corrigir um Dependabot alerta, ele posta a mensagem de erro no alerta. A Dependabot alerts exibição mostra uma lista de alertas que ainda não foram resolvidos. Para acessar a exibição de alertas, clique Dependabot alerts na Security and quality guia 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.

Um alerta pode não ter nenhum link de solicitação de pull por vários motivos:
-
Dependabot security updates não estão habilitados para o repositório. - O alerta é para uma dependência indireta ou transitória que não está explicitamente definida em um arquivo de bloqueio.
- 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 Dependabot é impedido de criar um pull request para atualizar uma dependência em um ecossistema, você pode exibir a lista de registros de tarefas 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.

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`
Dependabot não pode criar uma solicitação de pull para atualizar a dependência vulnerável para uma versão segura sem quebrar outras dependências no grafo de dependência para esse 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 explicitamente definidas que são vulneráveis para todos os ecossistemas. Para npm, Dependabot gerará uma solicitação de pull 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 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 imposta por A, que apenas permite versões vulneráveis mais baixas. Para corrigir a vulnerabilidade, Dependabot procurará atualizações na dependência A que permitem que a versão B fixa seja usada.
Dependabot gera automaticamente uma solicitação de pull que atualiza tanto as dependências transitivas ascendentes quanto descendentes bloqueadas.
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`
Dependabot fechará as solicitações de pull para atualizações de dependência, depois de detectar que essas atualizações foram confirmadas no branch 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 um dos comentários irá acionar Dependabot para verificar se a dependência deixou de ser atualizável ou vulnerável. Se Dependabot detectar que a solicitação de pull não é mais necessária, ela fechará a solicitação de pull nesse caso específico.
Para obter mais informações sobre Dependabot comandos de comentário, consulte 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`
Dependabot não criará uma solicitação de pull para atualizar a dependência vulnerável para uma versão segura porque já há uma solicitação de pull aberta 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 [Acionando uma Dependabot pull request 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`
Dependabot não pode fechar uma solicitação de pull para atualizar uma dependência que não está vulnerável ou não está mais vulnerável. Você poderá ver esse erro quando os dados do grafo de dependência estiverem obsoletos ou quando o grafo de dependência e Dependabot não concordarem 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 você conseguir confirmar que a versão de dependência não está mais vulnerável, poderá fechar a solicitação Dependabot de pull.
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 solicitações de pull abertas que serão geradas Dependabot . 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. veja [Como disparar manualmente uma Dependabot solicitação de pull](#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 uma solicitação de pull. 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 de versão e gere o 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.
allow:
dependency-type: production
# this restricts the entire job to production dependencies
groups:
development-dependencies:
dependency-type: "development"
# this group will always be empty
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 será:
- Confira a lista de dependências e restrinja o trabalho às dependências usadas apenas em
production. - Tente criar um grupo chamado
development-dependencies, que é um subconjunto dessa lista reduzida. - Determine se o grupo
development-dependenciesestá vazio, pois todas as dependênciasdevelopmentforam removidas na etapa 1. -
Atualize **individualmente** todas as dependências que não estão no grupo. Como o grupo de dependências na produção está vazio, Dependabot ignorará o grupo e criará uma solicitação de pull 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 obter mais informações sobre como configurar grupos para Dependabot version updates, consulte 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:**
*
Dependabot
agrupará dependências do mesmo ecossistema de pacotes que estão localizadas em diretórios diferentes quando as regras de agrupamento são especificadas para configurações que usam a directories chave.
*
Dependabot
aplicará outras opções de personalização relevantes do arquivo dependabot.yml para realizar pull requests para atualizações agrupadas de segurança. 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.
*
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 e também no resumo do trabalho ao final dos mesmos.
**Resolução :**
- Use o comentário
@dependabot recreatena solicitação de pull para compilar o grupo novamente. Confira Gerenciar pull requests para atualizações de dependências. - Se a dependência ainda não for atualizada, use a
exclude-patternsconfiguração para que a dependência seja excluída do grupo. Dependabot em seguida, gerará uma solicitação de pull separada para atualizar a dependência. - Se a dependência ainda não for atualizada, poderá haver um problema com a dependência em si ou com Dependabot esse ecossistema específico.
Se você desejar ignorar as atualizações de versão para a dependência, siga um destes procedimentos.
- Configure uma regra
ignorepara a dependência no arquivodependabot.yml. Para saber mais, confira Referência de opções do Dependabot. - Use o comando de comentário
@dependabot ignorepara a dependência na solicitação de pull para as atualizações agrupadas. Para saber mais, confira Gerenciar pull requests para atualizações de dependências.
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 solicitação de pull agrupada, Dependabot baseará novamente a solicitação de pull 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.
- Configure uma regra
ignorepara a dependência no arquivodependabot.yml. Para saber mais, confira Referência de opções do Dependabot. - Use o comando de comentário
@dependabot ignorepara a dependência na solicitação de pull para as atualizações agrupadas. Para saber mais, confira Gerenciar pull requests para atualizações de dependências.
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 em seguida, gerará uma solicitação de pull separada para atualizar a dependência.
Se você desejar ignorar as atualizações de versão para a dependência, siga um destes procedimentos.
- Configure uma regra
ignorepara a dependência no arquivodependabot.yml. Para saber mais, confira Referência de opções do Dependabot. - Use o comando de comentário
@dependabot ignorepara a dependência na solicitação de pull para as atualizações agrupadas. Para saber mais, confira Gerenciar pull requests para atualizações de dependências.
Se você continuar a ver falhas de CI, remova a configuração do grupo para que Dependabot reverta para criar 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ência precisam ser atualizadas em um repositório, mas não puderem 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 ele não pode acessar um registro de pacote privado:
| Mensagem de erro | Tipo de erro de API |
|---|
Dependabot não consegue alcançar uma dependência em um registro de pacotes privado | `private_source_not_reachable` |
| "Dependabot não pode se autenticar em um registro 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 foi possível 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-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). Além disso, Dependabot não dá suporte a dependências privadas GitHub para todos os gerenciadores de pacotes. Confira [AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories).
Disparando um pull request Dependabot manualmente
Se você desbloquear Dependabot, poderá disparar manualmente uma nova tentativa de criar uma solicitação de pull.
**Para atualizações de segurança:** Exiba o Dependabot alerta que mostra o erro corrigido e clique em **Criar atualização de Dependabot segurança**.
**Para atualizações de versão:** Na guia **Insights** do repositório, clique em **Grafo de Dependências**, e depois clique na guia **Dependabot**. Clique em **Verificado pela última vez há _TEMPO_** para ver o arquivo de log gerado Dependabot 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)