Skip to main content

Suppression et restauration d'un package

Découvrez comment supprimer ou restaurer un package.

Qui peut utiliser cette fonctionnalité ?

GitHub Packages est disponible avec GitHub Free, GitHub Pro, GitHub Free pour les organisations, GitHub Team, GitHub Enterprise Cloud et GitHub Enterprise Server 3.0 ou ultérieur.
GitHub Packages n’est pas disponible pour les référentiels privés appartenant à des comptes qui utilisent des plans par référentiel hérités. En outre, les comptes utilisant des plans hérités par référentiel ne peuvent pas accéder aux registres qui prennent en charge les autorisations granulaires, car ces comptes sont facturés par référentiel. Pour obtenir la liste des registres qui prennent en charge les autorisations granulaires, consultez « À propos des autorisations pour les packages GitHub. » Pour plus d’informations, consultez « Plans de GitHub ».

Prise en charge de la suppression et de la restauration de package sur GitHub

Sur GitHub, si vous disposez de l'accès requis, vous pouvez supprimer :

  • un package privé entier
  • un package public entier s'il n'y a pas plus de 5 000 téléchargements d'une version du package
  • une version spécifique d'un package privé
  • une version spécifique d'un package public si la version du package n'a pas plus de 5 000 téléchargements

Remarque :

  • Vous ne pouvez pas supprimer un package public si une version de celui-ci compte plus de 5 000 téléchargements. Dans ce scénario, contactez-nous via le Portail de support GitHub pour obtenir de l'aide.
  • Lorsque vous supprimez des packages publics, sachez que cela risque de perturber des projets qui dépendent de votre package.

Sur GitHub, vous pouvez également restaurer un package entier ou une version package si :

  • Vous restaurez le package dans les 30 jours suivant sa suppression.
  • Le même espace de noms de package est toujours disponible et n'est pas utilisé pour un nouveau package.

Prise en charge de l'API Packages

GitHub Packages prend uniquement en charge l’authentification à l’aide d’un personal access token (classic). Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».

Vous pouvez utiliser l'API REST pour gérer vos packages. Pour plus d'informations, consultez « Points de terminaison d’API REST pour les packages ».

Remarque : la capacité des workflows GitHub Actions de supprimer et de restaurer des packages à l’aide de l’API REST est actuellement en beta publique et susceptible d’être modifiée.

Avec des registres qui prennent en charge les autorisations granulaires, vous pouvez utiliser un GITHUB_TOKEN dans un workflow GitHub Actions pour supprimer ou restaurer des packages avec l’API REST. Le jeton doit avoir l'autorisation admin sur le package. Si votre workflow publie un package, le rôle admin est accordé par défaut au dépôt où est stocké le workflow. Pour les packages existants non publiés par un workflow, vous devez accorder au dépôt le rôle admin pour pouvoir utiliser un workflow GitHub Actions afin de supprimer ou restaurer des packages avec l'API REST. Pour plus d'informations, consultez « Configuration du contrôle d’accès et de la visibilité d’un package ».

Pour certains registres, vous pouvez utiliser GraphQL pour supprimer une version d’un package privé.

Vous ne pouvez pas utiliser l’API GraphQL GitHub Packages avec des registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au dépôt et qui peuvent être utilisés avec l’API GraphQL, consultez « À propos des autorisations pour les packages GitHub ».

Autorisations requises pour supprimer ou restaurer un package

Avec les registres qui prennent en charge les autorisations granulaires, vous pouvez choisir d'autoriser que les packages soient limités à un utilisateur ou à une organisation, ou liés à un dépôt.

Pour supprimer un package qui a des autorisations granulaires distinctes d'un dépôt, comme les images conteneur stockées dans https://ghcr.io/NAMESPACE/PACKAGE-NAME ou les packages stockés dans https://npm.pkg.github.com/NAMESPACE/PACKAGE-NAME (où NAMESPACE est le nom du compte personnel ou de l'organisation auquel le package est délimité), vous devez avoir un accès administrateur au package. Pour plus d'informations, consultez « À propos des autorisations pour les packages GitHub ».

Pour les packages qui héritent de leurs autorisations d'accès à partir de dépôts, vous pouvez supprimer un package si vous disposez d'autorisations d'administrateur sur le dépôt.

Certains registres prennent uniquement en charge les packages limités au dépôt. Pour obtenir la liste de ces registres, consultez « À propos des autorisations pour les packages GitHub ».

Suppression d’une version de package

Suppression d’une version d’un package de portée de dépôt sur GitHub

Pour supprimer une version d’un package étendu à un dépôt, vous devez disposer d’autorisations d’administrateur sur le référentiel dans lequel le paquet est publié. Pour plus d'informations, consultez « Autorisations requises ».

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Dans la barre latérale droite de votre dépôt, cliquez sur Packages.

    Capture d’écran de la barre latérale d’une page de dépôt. La section « Packages » est mise en évidence en orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Sous la liste « Versions récentes » des packages, cliquez sur Afficher et gérer toutes les versions.

    Capture d’écran de la section « Versions récentes » d’un package. En dessous, le lien « Afficher et gérer toutes les versions » est mis en évidence avec un encadré orange.

  5. Dans la liste des packages, recherchez la version du package que vous souhaitez supprimer.

    • Si votre package est un conteneur, à droite de la version du package, cliquez sur , puis sélectionnez Supprimer la version dans le menu déroulant.
      Capture d’écran d’une version de package avec un bouton de menu déroulant représenté par une icône de kebab. Le lien « Supprimer la version » dans le menu est mis en évidence avec un encadré orange.
    • Pour les types de packages autres que les conteneurs, à droite de la version du package, cliquez sur Supprimer.
      Capture d’écran d’une version de package avec un bouton « Supprimer ». Le bouton est mis en évidence avec un encadré orange.
  6. Pour confirmer la suppression, tapez le nom du package, puis cliquez sur Je comprends les conséquences, supprimer cette version.

Suppression d’une version d’un package de portée de dépôt avec GraphQL.

Pour certains registres, vous pouvez utiliser GraphQL pour supprimer une version d’un package privé.

Vous ne pouvez pas utiliser l’API GraphQL GitHub Packages avec des registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au dépôt et qui peuvent être utilisés avec l’API GraphQL, consultez « À propos des autorisations pour les packages GitHub ». Pour plus d'informations sur l'utilisation de l'API REST à la place, consultez « Points de terminaison d’API REST pour les packages ».

Utilisez la mutation deletePackageVersion dans l'API GraphQL. Vous devez utiliser un personal access token (classic) avec les étendues read:packages, delete:packages et repo. Pour plus d'informations sur les personal access tokens (classic), consultez « Introduction aux packages GitHub ».

L'exemple suivant montre comment supprimer une version de package à l'aide d'un packageVersionId de MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg.

curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer TOKEN" \
-d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg==\"}) { success }}"}' \
HOSTNAME/graphql

Pour trouver tous les packages privés que vous avez publiés sur GitHub Packages, ainsi que les ID de version des packages, vous pouvez utiliser la connexion packages via l'objet repository. Vous aurez besoin d'un personal access token (classic) avec les étendues read:packages et repo. Pour plus d'informations, consultez la connexion packages ou l'interface PackageOwner.

Pour plus d'informations sur la mutation de deletePackageVersion, consultez « Mutations ».

Vous ne pouvez pas supprimer directement un package entier à l'aide de l'API GraphQL mais, si vous supprimez chaque version d'un package, le package n'apparaîtra plus sur GitHub.

Suppression d'une version d'un package de portée d'utilisateur sur GitHub

Pour supprimer une version spécifique d'un package de portée d'utilisateur sur GitHub, par exemple, pour une image Docker sur ghcr.io, procédez comme suit. Pour supprimer un package entier, consultez « Suppression d'un package entier de portée d'utilisateur sur GitHub ».

Pour voir qui peut supprimer une version de package, consultez « Autorisations requises ».

  1. Sur GitHub, accédez à la page principale de votre compte personnel.

  2. En haut à droite de GitHub, cliquez sur votre photo de profil, puis sur Votre profil.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Votre profil » est délimité en orange foncé.

  3. Dans la page de votre profil, dans l’en-tête, cliquez sur l’onglet Packages.

  4. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  5. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  6. Sous la liste « Versions récentes » des packages, cliquez sur Afficher et gérer toutes les versions.

    Capture d’écran de la section « Versions récentes » d’un package. En dessous, le lien « Afficher et gérer toutes les versions » est mis en évidence avec un encadré orange.

  7. Dans la liste des packages, recherchez la version du package que vous souhaitez supprimer.

    • Si votre package est un conteneur, à droite de la version du package, cliquez sur , puis sélectionnez Supprimer la version dans le menu déroulant.
      Capture d’écran d’une version de package avec un bouton de menu déroulant représenté par une icône de kebab. Le lien « Supprimer la version » dans le menu est mis en évidence avec un encadré orange.
    • Pour les types de packages autres que les conteneurs, à droite de la version du package, cliquez sur Supprimer.
      Capture d’écran d’une version de package avec un bouton « Supprimer ». Le bouton est mis en évidence avec un encadré orange.
  8. Dans la zone de confirmation, tapez le nom du package pour confirmer que vous souhaitez supprimer la version choisie de celui-ci.

  9. Cliquez sur Je comprends les conséquences, supprimer cette version.

Suppression d'une version d'un package de portée d'organisation sur GitHub

Pour supprimer une version spécifique d'un package de portée d'organisation sur GitHub, par exemple, pour une image Docker sur ghcr.io, procédez comme suit. Pour supprimer un package entier, consultez « Suppression d'un package entier de portée d'organisation sur GitHub ».

Pour voir qui peut supprimer une version de package, consultez « Autorisations requises pour supprimer ou restaurer un package ».

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. Sous la liste « Versions récentes » des packages, cliquez sur Afficher et gérer toutes les versions.

    Capture d’écran de la section « Versions récentes » d’un package. En dessous, le lien « Afficher et gérer toutes les versions » est mis en évidence avec un encadré orange.

  6. Dans la liste des packages, recherchez la version du package que vous souhaitez supprimer.

    • Si votre package est un conteneur, à droite de la version du package, cliquez sur , puis sélectionnez Supprimer la version dans le menu déroulant.
      Capture d’écran d’une version de package avec un bouton de menu déroulant représenté par une icône de kebab. Le lien « Supprimer la version » dans le menu est mis en évidence avec un encadré orange.
    • Pour les types de packages autres que les conteneurs, à droite de la version du package, cliquez sur Supprimer.
      Capture d’écran d’une version de package avec un bouton « Supprimer ». Le bouton est mis en évidence avec un encadré orange.
  7. Dans la zone de confirmation, tapez le nom du package pour confirmer que vous souhaitez supprimer la version choisie de celui-ci.

  8. Cliquez sur Je comprends les conséquences, supprimer cette version.

Suppression d'un package entier

Suppression d'un package entier de portée de dépôt sur GitHub

Pour supprimer un package étendu à un dépôt entier, vous devez disposer d'autorisations d'administrateur sur le dépôt propriétaire du package. Pour plus d'informations, consultez « Autorisations requises ».

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Dans la barre latérale droite de votre dépôt, cliquez sur Packages.

    Capture d’écran de la barre latérale d’une page de dépôt. La section « Packages » est mise en évidence en orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.

  6. Pour confirmer, lisez le message de confirmation, entrez le nom de votre package et cliquez sur Je comprends, supprimer ce package.

Suppression d'un package entier de portée d'utilisateur sur GitHub

Pour voir qui peut supprimer un package, consultez « Autorisations requises ».

  1. Sur GitHub, accédez à la page principale de votre compte personnel.

  2. En haut à droite de GitHub, cliquez sur votre photo de profil, puis sur Votre profil.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Votre profil » est délimité en orange foncé.

  3. Dans la page de votre profil, dans l’en-tête, cliquez sur l’onglet Packages.

  4. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  5. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  6. En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.

  7. Dans la zone de confirmation, tapez le nom du package pour confirmer sa suppression.

  8. Cliquez sur Je comprends les conséquences, supprimer ce package.

Suppression d'un package entier de portée d'organisation sur GitHub

Pour voir qui peut supprimer un package, consultez « Autorisations requises ».

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  5. En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.

  6. Dans la zone de confirmation, tapez le nom du package pour confirmer sa suppression.

  7. Cliquez sur Je comprends les conséquences, supprimer ce package.

Restauration de packages

Vous pouvez restaurer un package ou une version supprimés si :

  • Vous restaurez le package dans les 30 jours suivant sa suppression.
  • Les mêmes espace de noms et version de package sont toujours disponibles et ne sont pas réutilisés pour un nouveau package.

Par exemple, si vous êtes l'utilisateur octocat et avez un package RubyGems supprimé nommé my-package qui a délimité au dépôt octocat/my-repo, vous pouvez le restaurer seulement si l'espace de noms du package rubygem.pkg.github.com/octocat/my-repo/my-package est toujours disponible, et si 30 jours ne se sont pas encore écoulés.

Pour restaurer un package supprimé, vous devez également répondre à l'une des exigences d'autorisation suivantes :

  • Pour les packages délimités à un dépôt : vous disposez d'autorisations d'administrateur sur le dépôt dans lequel le package supprimé est publié.
  • Pour les packages délimités à un compte d'utilisateur : le package supprimé est délimité à votre compte personnel.
  • Pour les packages délimités à une organisation : vous disposez d'autorisations d'administrateur sur le package supprimé dans l'organisation à laquelle le package est délimité.

Pour plus d'informations, consultez « Autorisations requises ».

Une fois le package restauré, il utilise le même espace de noms qu'auparavant. Si le même espace de noms de package n'est pas disponible, vous ne pourrez pas restaurer votre package. Dans ce scénario, pour pouvoir restaurer le package supprimé, vous devez au préalable supprimer le nouveau package qui utilise l'espace de noms du package supprimé.

Restauration d'un package dans une organisation

Vous pouvez restaurer un package supprimé via les paramètres de votre compte d’organisation, si le package se trouvait dans un référentiel appartenant à l’organisation ou avait des autorisations granulaires, et si sa portée était étendue à votre compte d’organisation.

Pour voir qui peut restaurer un package dans une organisation, consultez « Autorisations requises ».

  1. Sur GitHub.com, accédez à la page principale de l’organisation.

  2. Sous le nom de votre organisation, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Sur la gauche, cliquez sur Packages.

  4. Sous « Packages supprimés », en regard du package que vous souhaitez restaurer, cliquez sur Restaurer.

  5. Pour confirmer, tapez le nom du package, puis cliquez sur Je comprends les conséquences, restaurer ce package.

Restauration d'un package de portée de compte d'utilisateur

Vous pouvez restaurer un package supprimé via les paramètres de votre compte personnel, si le package se trouvait dans l'un de vos dépôts, ou si sa portée était étendue à votre compte personnel. Pour plus d'informations, consultez « Autorisations requises ».

  1. Dans l’angle supérieur droit d’une page de GitHub, cliquez sur la photo de votre profil, puis sur Paramètres.
  2. Dans la barre latérale gauche, cliquez sur Packages.
  3. Sous « Packages supprimés », en regard du package que vous souhaitez restaurer, cliquez sur Restaurer.
  4. Pour confirmer, tapez le nom du package, puis cliquez sur Je comprends les conséquences, restaurer ce package.

Restauration d'une version de package

Vous pouvez restaurer une version de package à partir de la page d'accueil de votre package. Pour voir qui peut restaurer un package, consultez « Autorisations requises ».

  1. Accédez à la page d'accueil de votre package.

  2. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  3. Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

    Capture d’écran de la page d’accueil d’un package. Dans le coin inférieur droit, « Paramètres du package » est mis en évidence avec un encadré orange.

  4. Sous la liste « Versions récentes » des packages, cliquez sur Afficher et gérer toutes les versions.

    Capture d’écran de la section « Versions récentes » d’un package. En dessous, le lien « Afficher et gérer toutes les versions » est mis en évidence avec un encadré orange.

  5. En haut à droite de la liste des versions de package, utilisez la liste déroulante Sélectionner la vue des versions et sélectionnez Supprimé.

    Capture d’écran d’une liste de versions de package. La sélection « Supprimé » dans la vue des versions est mise en évidence avec un encadré orange.

  6. En regard de la version de package supprimée que vous souhaitez restaurer, cliquez sur Restaurer.

  7. Pour confirmer, cliquez sur Je comprends les conséquences, restaurer cette version.