Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Solução de problemas do Dependabot

Às vezes, Dependabot não consegue criar um pull request para atualizar suas dependências. Você pode revisar o erro e desbloquear Dependabot.

Neste artigo

Sobre os erros do Dependabot

O Dependabot gera pull requests para atualizar dependências. Dependendo de como seu repositório está configurado, o Dependabot pode gerar pull requests para atualizações de versão e/ou para atualizações de segurança. Você gerencia essas pull requests da mesma forma que qualquer outra pull request, mas também existem alguns comandos extras disponíveis. Para obter mais informações sobre habilitar atualizações de dependência Dependabot, consulte "Configurando Atualizações de segurança do Dependabot" e "Habilitando e desabilitando atualizações de versão."

Se algo impedir o Dependabot de criar um pull request, este será relatado como erro.

Investigar erros com Atualizações de segurança do Dependabot

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

Vista de Alertas do Dependabot que mostra um link do pull request

Há três razões pelas quais um alerta pode não ter link de um pull request:

  1. Atualizações de segurança do Dependabot 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.

Se um erro impediu que Dependabot criasse um pull request, você pode exibir os detalhes do erro clicando no alerta.

O alerta do Dependabot que mostra que o erro que bloqueou a criação de um pull request

Investigar erros com Atualizações de versão do Dependabot

Quando Dependabot está impedido de criar um pull request para atualizar uma dependência em um ecossistema, ele posta o ícone de erro no arquivo de manifesto. Os arquivos de manifesto gerenciados por Dependabot estão listados na aba Dependabot. Para acessar essa aba, na aba Insights para o repositório, clique no Gráfico de Dependências, e, em seguida, clique na aba Dependabot.

vista de Dependabot que mostra um erro

Para visualizar o arquivo de registro para qualquer arquivo de manifesto, clique no link HORA da última verificação. Ao exibir o arquivo de registro para um manifesto mostrado com um símbolo de erro (por exemplo, Maven, na captura de tela acima), todos os erros também serão exibidos.

Erro e registro de uma atualização de versão de Dependabot

Entender os erros de Dependabot

Pull requests para atualizações de segurança atuam para atualizar uma dependência vulnerável à versão mínima que inclui uma correção para a vulnerabilidade. Em contrapartida, os pull requests para atualizações de versão agem para atualizar uma dependência da versão mais recente permitida pelo manifesto do pacote e pelos arquivos de configuração de Dependabot. Consequentemente, alguns erros são específicos para um tipo de atualização.

Dependabot não pode atualizar a DEPENDÊNCIA para uma versão não vulnerável

Apenas atualizações de segurança. Dependabot não consegue criar um pull request para atualizar a dependência vulnerável para uma versão segura sem afetar outras dependências no gráfico de dependências para este 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.

A melhor maneira de evitar esse problema é manter-se atualizado com as versões mais recentes, habilitando, por exemplo, as atualizações de versões. 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. Para obter detalhes, consulte "Habilitando e desabilitando atualizações da versão."

Dependabot não consegue atualizar para a versão necessária, pois já existe um pull request aberto para a última versão

Apenas atualizações de segurança. Dependabot não criará um pull request para atualizar a dependência vulnerável para uma versão segura, pois já existe um pull request aberto para atualizar esta 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.

Existem duas opções: você pode revisar o pull request aberto e fazer o merge assim que estiver confiante de que a mudança é segura, ou fechar o pull request e acionar um novo pull request de atualização de segurança. Para obter mais informações, consulte "Acionar um pull request de Dependabot manualmente".

O Dependabot esgotou o tempo durante esta atualização

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

Este erro é difícil de ser corrigido. Se a atualização de uma versão expirar, você poderá especificar as dependências mais importantes para atualizar usando o parâmetro permitir ou, como alternativa, você pode usar o parâmetro ignorar para excluir algumas dependências de atualizações. Atualizar sua configuração pode permitir que Dependabot revise a atualização da versão e gere o pull request no tempo disponível.

Se uma atualização de segurança expirar, você pode reduzir as chances de isso acontecer mantendo as dependências atualizadas, por exemplo, habilitando atualizações de versão. Para obter detalhes, consulte "Habilitando e desabilitando atualizações da versão."

Dependabot não consegue abrir mais nenhum pull request

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. A melhor maneira de resolver este erro é revisar e fazer merge alguns dos pull requests abertos.

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. O limite para pull requests de atualização de segurança é 10. Por padrão, o limite para atualizações de versão é 5, mas você pode alterá-lo usando o parâmetro open-pull-requests-limit no arquivo de configuração. Para obter mais informações, consulte "Opções de configuração para atualizações de dependências".

A melhor maneira de resolver este erro é fazer o merge ou fechar alguns dos pull requests existentes e acionar um novo pull request manualmente. Para obter mais informações, consulte "Acionar um pull request de Dependabot manualmente".

Dependabot não pode resolver ou acessar suas dependências

Se Dependabot tentar verificar se as referências de dependências precisam ser atualizadas em um repositório, mas não puder acessar um ou mais arquivos referenciados, a operação irá falhar com a mensagem de erro "Dependabot can't resolve your LANGUAGE dependency files." O tipo de erro da API é git_dependencies_not_reachable.

Da mesma forma, se Dependabot não pode acessar um registro de pacote privado em que uma dependência está localizada, gera-se um dos erros a seguir:

  • "O Dependabot não pode alcançar uma dependência em um registro de pacote privado"
    (API error type: private_source_not_reachable)
  • "O Dependabot não pode autenticar em um registro de pacote privado"
    (API error type:private_source_authentication_failure)
  • "Esgotou o tempo do Dependabot enquanto aguardava um registro de pacote privado"
    (API error type:private_source_timed_out)
  • "O Dependabot não conseguiu valor o certificado para um registro de pacote privado"
    (API error type:private_source_certificate_failure)

Para permitir que Dependabot atualize as referências de dependências com sucesso, certifique-se de que todas as dependências referenciadas estejam 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 obter mais informações, consulte "Gerenciar configurações de segurança e análise para sua organização". You can configure access to private registries in a repository's dependabot.yml configuration file. Para obter mais informações, consulte "Opções de configuração para atualizações de dependências". Além disso, Dependabot não é compatível com dependências privadas de GitHub para todos os gerenciadores de pacotes. Para obter mais informações, consulte "Sobre atualizações da versão do Dependabot".

Acionar um pull request de Dependabot manualmente

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

  • Atualizações de segurança—exibe o alerta de Dependabot, que mostra o erro que você corrigiu e clique em Criar atualização de segurança de Dependabot.
  • Atualização de versão—na aba Insights do repositório, clique no Gráfico de dependência e, em seguida, clique na aba Dependabot. Clique em Última verificação hora para ver o arquivo de registro que Dependabot gerou durante a última verificação de atualizações de versão. Clique em Verificar atualizações.

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.