Skip to main content

Erreurs de Dependabot

Dependabot gère automatiquement vos dépendances, en gardant votre code sécurisé et actuel. Cette référence vous aide à diagnostiquer et à résoudre les problèmes afin que les mises à jour automatisées puissent continuer.

Lorsque Dependabot rencontre des erreurs lors de la mise à jour de vos dépendances, vous pouvez utiliser cette référence pour diagnostiquer et résoudre les problèmes courants.

Comment afficher les erreurs

Erreurs de mise à jour de sécurité

Quand Dependabot n’est pas en mesure de créer une demande de tirage pour corriger une alerte Dependabot, il publie le message d’erreur sur l’alerte. L’affichage des Dependabot alerts montre la liste des alertes qui n’ont pas encore été résolues. Pour accéder à l’affichage des alertes, cliquez sur Dependabot alerts sous l’onglet Sécurité du dépôt. Si une demande de tirage destinée à corriger la dépendance vulnérable a été générée, l’alerte inclut un lien vers cette demande de tirage.

Capture d’écran de la vue Dependabot alerts. À droite d’une alerte, un lien vers une demande de tirage intitulée « #353 » apparaît en surbrillance orange.

Une alerte peut ne pas avoir de lien de pull request pour plusieurs raisons :

  1. Les Dependabot security updates ne sont pas activées pour le dépôt.
  2. L’alerte concerne une dépendance indirecte ou transitive qui n’est pas explicitement définie dans un fichier de verrouillage.
  3. Une erreur a empêché Dependabot de créer une demande de tirage.

Pour afficher les détails de l’erreur, cliquez sur l’alerte.

Erreurs de mise à jour de version

Lorsque Dependabot est empêché de créer une pull request pour mettre à jour une dépendance dans un écosystème, vous pouvez consulter la liste des journaux de tâches pour en savoir plus sur l’erreur.

La liste des journaux des projets est accessible à partir du graphique de dépendance d'un référentiel. Dans le graphique de dépendance, cliquez sur l’onglet Dependabot, puis à droite du fichier manifeste concerné, cliquez sur Projets de mise à jour récents.

Pour afficher les fichiers journaux complets d’un travail particulier, à droite de l’entrée de journal qui vous intéresse, cliquez sur Afficher les journaux.

Capture d’écran des entrées du journal des tâches Dependabot pour un fichier manifeste. Un bouton intitulé « Afficher les journaux d’activité » est mis en évidence par un encadrement orange foncé.

Pour plus d’informations, consultez « Affichage des journaux de travaux Dependabot ».

Erreurs de résolution des dépendances

Impossible de mettre à jour DEPENDENCY vers une version non vulnérable

          **S’applique à :** Mises à jour de sécurité uniquement

          **Message d'erreur:**`Dependabot cannot update DEPENDENCY to a non-vulnerable version`

Dependabot ne peut pas créer une demande de tirage pour mettre à jour la dépendance vulnérable vers une version sécurisée sans rompre d’autres dépendances dans le graphe de dépendances de ce dépôt.

Chaque application qui a des dépendances a un graphe de dépendances, autrement dit un graphe orienté acyclique de chaque version de package dont l’application dépend directement ou indirectement. Chaque fois qu’une dépendance est mise à jour, ce graphe doit être résolu, sinon l’application n’est pas générée. Quand un écosystème a un graphe de dépendances profond et complexe, par exemple, npm et RubyGems, il est souvent impossible de mettre à niveau une seule dépendance sans mettre à niveau l’ensemble de l’écosystème.

          **Résolution:** Restez à jour avec les dernières versions publiées, par exemple en activant les mises à jour de version. Cela augmente la probabilité qu’une vulnérabilité dans une dépendance puisse être résolue par une simple mise à niveau qui ne rompt pas le graphe de dépendances. Consultez [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates).

Met à jour les dépendances sans alerte

          **S’applique à :** Mises à jour de sécurité uniquement

          **Message d'erreur:**`Dependabot tries to update dependencies without an alert`

Dependabot met à jour les dépendances transitives définies explicitement qui sont vulnérables pour tous les écosystèmes. Pour npm, Dependabot déclenche une demande de tirage qui met également à jour la dépendance parente s’il s’agit de la seule façon de corriger la dépendance transitive.

Par exemple, un projet avec une dépendance envers la version A de ~2.0.0 qui a une dépendance transitive envers la version B de ~1.0.0 qui a été résolue en 1.0.1.

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

Lorsqu’une vulnérabilité de sécurité est publiée pour les versions B``<2.0.0 et qu’un correctif est disponible à l’adresse 2.0.0, Dependabot tente de mettre à jour B, mais constate que l’opération est impossible en raison de la restriction définie par A, qui n’autorise que des versions moins vulnérables. Pour corriger la vulnérabilité, Dependabot recherche les mises à jour de la dépendance A qui autorisent l’utilisation de la version corrigée de B.

Dependabot crée automatiquement une demande de tirage qui met à niveau simultanément les dépendances transitives parentes et enfants verrouillées.

Impossible de clôturer le pull request pour une mise à jour qui a déjà été appliquée.

          **Message d'erreur:**`Dependabot fails to close a open pull request for an update that has already been applied on the default branch`

Dependabot ferme les demandes de tirage relatives aux mises à jour de dépendances dès qu’il détecte que ces mises à jour ont été validées sur la branche par défaut. Cependant, dans de rares situations, la demande de tirage peut demeurer ouverte.

          **Résolution:** Si vous remarquez que vous avez validé manuellement une mise à jour vers une dépendance et que la demande de tirage pour cette même mise à jour est toujours ouverte, vous pouvez utiliser l’une des commandes suivantes dans un commentaire sur la demande de tirage :

* @dependabot recreate ou * @dependabot rebase.

Chacun de ces commentaires déclenchera Dependabot afin qu’il vérifie si la dépendance n’est plus mise à niveau ou considérée comme vulnérable. Si Dependabot détermine que la demande de tirage n’est plus requise, il la fermera dans ce cas précis.

Pour plus d’informations sur les commandes de commentaire Dependabot, consultez AUTOTITLE.

Impossible de mettre à jour vers la version requise, car il existe déjà une pull request ouverte pour la dernière version.

          **S’applique à :** Mises à jour de sécurité uniquement

          **Message d'erreur:**`Dependabot cannot update to the required version as there is already an open pull request for the latest version`

Dependabot ne crée pas de demande de tirage pour mettre à jour la dépendance vulnérable vers une version sécurisée, car il existe déjà une demande de tirage ouverte pour mettre à jour cette dépendance. Cette erreur s’affiche quand une vulnérabilité est détectée dans une seule dépendance et qu’il existe déjà une demande de tirage ouverte pour mettre à jour la dépendance vers la dernière version.

          **Résolution:** Vous pouvez passer en revue la demande de tirage ouverte et la fusionner dès que vous êtes certain que la modification est sécurisée ou fermez cette demande de tirage et déclenchez une nouvelle demande de tirage de mise à jour de sécurité. Consultez [lancer manuellement une pull request Dependabot](#triggering-a-dependabot-pull-request-manually).

Aucune mise à jour de sécurité n’est nécessaire

          **S’applique à :** Mises à jour de sécurité uniquement

          **Message d'erreur:**`No security update is needed as DEPENDENCY is no longer vulnerable`

Dependabot ne peut pas fermer une demande de tirage visant à mettre à jour une dépendance qui n’est pas ou n’est plus vulnérable. Cette erreur peut se produire lorsque les données du graphe de dépendances sont obsolètes ou lorsque le graphe de dépendances et Dependabot ne s’accordent pas sur la vulnérabilité d’une version donnée d’une dépendance.

          **Résolution:** Examinez d’abord le graphique de dépendances de votre référentiel, examinez la version détectée pour la dépendance et vérifiez si la version identifiée correspond à ce qui est utilisé dans votre référentiel.

Si vous estimez que les données de votre graphe de dépendances sont obsolètes, il peut être nécessaire de mettre à jour manuellement le graphe de dépendances de votre référentiel ou d’analyser plus en détail vos informations de dépendances. Consultez Résolution des problèmes liés au graphe de dépendances.

Si vous êtes en mesure de confirmer que la version de la dépendance n’est plus vulnérable, vous pouvez fermer la demande de tirage Dependabot

Erreurs de pull request

Limite de pull request atteinte

          **Message d'erreur:**`Dependabot cannot open any more pull requests`

Le nombre de demandes de tirage ouvertes générées par Dependabot est limité. Quand cette limite est atteinte, aucune nouvelle demande de tirage n’est ouverte et cette erreur est signalée.

          **Limites:**
  • Requêtes d'extraction de mises à jour de sécurité : 10
  • Demandes de fusion de mise à jour de la version : 5 (configurable à l’aide de open-pull-requests-limit)

Il existe des limites distinctes pour les demandes de tirage de mise à jour de sécurité et de mise à jour de version, afin que les demandes de tirage de mise à jour de version ouvertes ne puissent pas empêcher la création d’une demande de tirage de mise à jour de sécurité. Pour plus d’informations, consultez « Référence des options Dependabot ».

          **Résolution:** Fusionnez ou fermez certaines des demandes de tirage existantes et déclenchez une nouvelle demande de tirage manuellement. consultez [Déclenchement d'une pull request Dependabot manuellement](#triggering-a-dependabot-pull-request-manually).

Erreurs de délai d’expiration et de performance

Mise à jour expirée

          **Message d'erreur:**`Dependabot timed out during its update`

Dependabot a pris plus de temps que le temps maximal autorisé pour évaluer la mise à jour requise et préparer une demande de tirage. Cette erreur n’est généralement observée que pour les grands dépôts avec de nombreux fichiers manifestes, par exemple, les projets monodépôts npm ou yarn avec des centaines de fichiers package.json. L’évaluation des mises à jour apportées à l’écosystème Composer peut également prendre plus de temps, avec le risque que les mises à jour expirent.

          **Résolution des mises à jour de version :** Spécifiez les dépendances les plus importantes à mettre à jour à l’aide du `allow` paramètre ou, sinon, utilisez le `ignore` paramètre pour exclure certaines dépendances des mises à jour. La mise à jour de votre configuration peut autoriser Dependabot à passer en revue la mise à jour de version et à générer la demande de tirage dans le temps disponible.

          **Résolution des mises à jour de sécurité :** Réduisez les chances d’expiration en conservant les dépendances mises à jour, par exemple en activant les mises à jour de version. Pour plus d’informations, consultez « [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates) ».

Erreurs de regroupement

Échec du regroupement des dépendances (mises à jour de version)

          **S’applique à :** Mises à jour de version uniquement

          **Message d'erreur:**`Dependabot fails to group a set of dependencies into a single pull request for Dependabot version updates`

Les paramètres de configuration groups définis dans le fichier dependabot.yml peuvent s’appliquer aussi bien aux mises à jour de version qu’aux mises à jour de sécurité. Utilisez la clé applies-to afin de préciser à quel type de mises à jour, version ou sécurité, s’applique un ensemble donné de règles de regroupement.

Vous ne pouvez pas appliquer un seul ensemble de règles de regroupement aux mises à jour de version et aux correctifs de sécurité. Au lieu de cela, si vous souhaitez regrouper à la fois les mises à jour de version et les correctifs de sécurité à l’aide des mêmes critères, vous devez définir deux ensembles de règles, nommés séparément, groupant des ensembles de règles.

Lors de la configuration des mises à jour de version regroupées, les groupes doivent être définis par écosystème de paquets.

          **Cause courante : groupes vides :** Vous avez peut-être créé involontairement des groupes vides. Ce cas peut se produire, par exemple, lorsque vous définissez un `dependency-type` dans la clé `allow` pour l’ensemble du travail.
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

Dans cet exemple, Dependabot va :

  1. Examiner la liste de vos dépendances et restreindre le travail aux dépendances utilisées uniquement dans production.
  2. Tenter de créer un groupe nommé development-dependencies correspondant à un sous-ensemble de cette liste restreinte.
  3. Constater que le groupe development-dependencies est vide, car toutes les dépendances development ont été exclues à l’étape 1.
  4.        **Mettez à jour individuellement **toutes les dépendances qui ne font pas partie du groupe. Étant donné que le groupe de dépendances en production est vide, Dependabot ignorera ce groupe et générera une demande de tirage distincte pour chaque dépendance.
    
           **Résolution:** Assurez-vous que les paramètres de configuration n’annulent pas les uns les autres et mettez-les à jour correctement dans votre fichier de configuration. Pour déboguer le problème, examinez les fichiers journaux. Pour plus d’informations sur l’accès aux journaux d’activité d’un manifeste, consultez [Comment afficher les erreurs](#how-to-view-errors).
    

Pour plus d’informations sur comment configurer des groupes Dependabot version updates, consultez Référence des options Dependabot.

Échec du regroupement des dépendances (mises à jour de sécurité)

          **S’applique à :** Mises à jour de sécurité uniquement

          **Message d'erreur:**`Dependabot fails to group a set of dependencies into a single pull request for Dependabot security updates`

Les paramètres de configuration groups définis dans le fichier dependabot.yml peuvent s’appliquer aussi bien aux mises à jour de version qu’aux mises à jour de sécurité. Utilisez la clé applies-to afin de préciser à quel type de mises à jour, version ou sécurité, s’applique un ensemble donné de règles de regroupement. Assurez-vous que le regroupement est bien configuré pour s’appliquer aux mises à jour de sécurité. Lorsque la clé applies-to est absente d’un ensemble de règles de regroupement dans votre configuration, toutes les règles de regroupement s’appliquent par défaut uniquement aux mises à jour de version.

Vous ne pouvez pas appliquer un seul ensemble de règles de regroupement aux mises à jour de version et aux correctifs de sécurité. Au lieu de cela, si vous souhaitez regrouper à la fois les mises à jour de version et les correctifs de sécurité à l’aide des mêmes critères, vous devez définir deux ensembles de règles, nommés séparément, groupant des ensembles de règles.

          **Instructions de regroupement pour les mises à jour de sécurité :**
  • Dependabot regroupe les dépendances issues d’un même écosystème de paquets et situées dans différents répertoires lorsque des règles de regroupement sont définies pour des configurations utilisant la clé directories.
  • Dependabot applique aux demandes de tirage de mises à jour de sécurité groupées les autres options de personnalisation pertinentes définies dans le fichier dependabot.yml. Les règles de groupe configurées dans un fichier dependabot.yml remplacent les paramètres d’interface utilisateur pour activer ou désactiver les correctifs de sécurité groupés au niveau de l’organisation ou du référentiel.
  • Dependabot ne regroupe pas les dépendances provenant d’écosystèmes de paquets différents.
  • Dependabot ne regroupe pas les mises à jour de sécurité avec les mises à jour de version.

Pour plus d’informations, consultez « À propos des mises à jour de sécurité Dependabot » et « Personnalisation des demandes de tirage pour les mises à jour de sécurité de Dependabot ».

Échec de la mise à jour de la dépendance dans la pull request groupée

          **Message d'erreur:**`Dependabot fails to update one of the dependencies in a grouped pull request`

Plusieurs méthodes de dépannage peuvent être utilisées lorsque des mises à jour de version ou de sécurité échouent.

Mises à jour de version

          **S’applique à :** Mises à jour de version uniquement

Dependabot indique la mise à jour ayant échoué dans les journaux d’activité ainsi que dans le récapitulatif des tâches affiché à la fin de ces journaux.

          **Résolution :**
  1. Utilisez le commentaire @dependabot recreate sur le pull request pour reconstruire le groupe. Consultez Gestion des demandes de tirage (pull request) pour les mises à jour des dépendances.
  2. Si la dépendance ne parvient toujours pas à être mise à jour, utilisez la exclude-patterns configuration afin que la dépendance soit exclue du groupe. Dependabot créera alors une demande de tirage distincte pour effectuer la mise à jour de la dépendance.
  3. Si la dépendance ne peut toujours pas être mise à jour, le problème peut provenir de la dépendance elle-même ou de Dependabot pour cet écosystème spécifique.

Si vous souhaitez ignorer les mises à jour pour la dépendance, vous devez effectuer l’une des opérations suivantes.

Mises à jour de sécurité

          **S’applique à :** Mises à jour de sécurité uniquement

Si une pull request groupée pour les mises à jour de sécurité échoue ou ne peut pas être fusionnée, ouvrez manuellement des pull requests pour mettre à jour les versions des modifications incompatibles. Quand vous mettez à jour manuellement un package inclus dans une demande de tirage groupée, Dependabot rebase automatiquement la demande de tirage afin d’en retirer le package mis à jour manuellement.

Si vous souhaitez ignorer les mises à jour pour la dépendance, vous devez effectuer l’une des opérations suivantes.

L'intégration continue échoue sur la pull request groupée

          **S’applique à :** Mises à jour de version uniquement

          **Message d'erreur:**`Continuous integration (CI) fails on my grouped pull request`

          **Résolution :**

Si l’échec est dû à une dépendance unique, utilisez la exclude-patterns configuration afin que la dépendance soit exclue du groupe. Dependabot créera alors une demande de tirage distincte pour effectuer la mise à jour de la dépendance.

Si vous souhaitez ignorer les mises à jour pour la dépendance, vous devez effectuer l’une des opérations suivantes.

Si vous continuez à voir des échecs de CI, supprimez la configuration du groupe pour que Dependabot revienne à créer des pull requests individuelles pour chaque dépendance. Ensuite, vérifiez et confirmez que la mise à jour fonctionne correctement pour chaque demande de fusion individuelle.

Erreurs d’authentification et de Registre

Impossible de résoudre ou d’accéder aux dépendances

          **Message d'erreur:**`Dependabot can't resolve your LANGUAGE dependency files`

          **Type d’erreur d’API :**`git_dependencies_not_reachable`

Si Dependabot tente de vérifier si les références de dépendance doivent être mises à jour dans un référentiel, mais ne peuvent pas accéder à un ou plusieurs des fichiers référencés, l’opération échoue.

Erreurs de registre de paquets privés

Dependabot peut générer l'une des erreurs suivantes lorsqu'il ne peut pas accéder à un registre de paquets privé :

Message d'erreurType d’erreur d’API
« Dependabot ne peut pas atteindre une dépendance dans un registre de paquets privés »private_source_not_reachable
« Dependabot ne peut pas s’authentifier auprès d’un registre de packages privés »private_source_authentication_failure
« Dependabot a expiré en attendant un registre de package privé »private_source_timed_out
« Dependabot n’a pas pu valider le certificat pour un registre de package privé »private_source_certificate_failure
          **Résolution:** Vérifiez que toutes les dépendances référencées sont hébergées à des emplacements accessibles.

          **Mises à jour de version uniquement :** Lors de l’exécution de mises à jour de sécurité ou de version, certains écosystèmes doivent être capables de résoudre toutes les dépendances de leur source pour vérifier que les mises à jour ont réussi. Si vos fichiers manifeste ou de verrouillage contiennent des dépendances privées, Dependabot doit être capable d’accéder à l’emplacement auquel ces dépendances sont hébergées. Les propriétaires de l’organisation peuvent octroyer à Dependabot un accès aux dépôts privés contenant des dépendances pour un projet au sein de cette même organisation. Pour plus d’informations, consultez « [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) ». Vous pouvez configurer un accès aux registres privés dans le fichier de configuration `dependabot.yml` d’un dépôt. Pour plus d’informations, consultez « [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot) ». En outre, Dependabot ne prend pas en charge les dépendances privées GitHub pour tous les gestionnaires de paquets. Consultez [AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories).

Déclenchement manuel d’une demande de tirage Dependabot

Si vous débloquez Dependabot, vous pouvez déclencher manuellement une nouvelle tentative de création d’une demande de tirage.

          **Pour les mises à jour de sécurité :** Affichez l’alerte Dependabot qui affiche l’erreur que vous avez corrigée, puis cliquez sur **Créer Dependabot mise à jour de sécurité**.

          **Pour les mises à jour de version :** Sous l’onglet **Insights** du référentiel, cliquez sur **Graphique des dépendances**, puis cliquez sur l’onglet **Dependabot**. Cliquez sur **Dernière vérification effectuée il y a _TIME_** pour afficher le fichier journal généré par Dependabot lors de la dernière vérification des mises à jour de version. Cliquez sur **Rechercher les mises à jour**.

Lectures complémentaires

  •         [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)