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.
Support de l'API Packages
Remarque
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 préversion publique 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 paquet privé.
Vous ne pouvez pas utiliser l'API GraphQL GitHub Packages GraphQL avec les registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au référentiel 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://containers.HOSTNAME/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.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Dans la barre latérale droite de votre dépôt, cliquez sur Packages.

-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Accédez à l’emplacement où vous pouvez gérer les versions pour votre type de package.
- Si votre package est un conteneur, sous la section « Versions récentes », cliquez sur Afficher et gérer toutes les versions.

- Pour les types de packages autres que les conteneurs :
- Dans la partie droite, cliquez sur Paramètres de l’ensemble.

- Sur la gauche, cliquez sur Gérer les versions.

- Dans la partie droite, cliquez sur Paramètres de l’ensemble.
- Si votre package est un conteneur, sous la section « Versions récentes », cliquez sur Afficher et gérer toutes les versions.
-
Dans la liste des packages, recherchez la version du package que vous souhaitez supprimer.
- Si votre paquet est un conteneur, à droite de la version du paquet, cliquez sur , puis sélectionnez Supprimer la version dans le menu déroulant.

- Pour les types de packages autres que les conteneurs, à droite de la version du package, cliquez sur Supprimer.

- Si votre paquet est un conteneur, à droite de la version du paquet, cliquez sur , puis sélectionnez Supprimer la version dans le menu déroulant.
-
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 paquet privé.
Vous ne pouvez pas utiliser l'API GraphQL GitHub Packages GraphQL avec les registres qui prennent en charge les autorisations granulaires. Pour les registres qui prennent uniquement en charge les autorisations limitées au référentiel 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, voir 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 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 paquet entier en utilisant GraphQL, mais si vous supprimez toutes les versions d'un paquet, le paquet n'apparaîtra plus sur GitHub.
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.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Dans la barre latérale droite de votre dépôt, cliquez sur Packages.

-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

-
En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.
-
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.
-
Sur GitHub, accédez à la page principale de votre compte personnel.
-
Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Votre profil.

-
Sur votre page de profil, dans l'en-tête, cliquez sur l’onglet Paquets.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

-
Sur la gauche, cliquez sur Options.

-
En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.
-
Dans la zone de confirmation, tapez le nom du package pour confirmer sa suppression.
-
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.
-
Sur GitHub, accédez à la page principale de votre organisation.
-
Sous le nom de votre organisation, cliquez sur l’onglet Paquets.

-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

-
Sur la gauche, cliquez sur Options.

-
En bas de la page, sous « Zone de danger », cliquez sur Supprimer ce package.
-
Dans la zone de confirmation, tapez le nom du package pour confirmer sa suppression.
-
Cliquez sur Je comprends les conséquences, supprimer ce package.
Restauration de paquets
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 que vous avez un package RubyGems supprimé nommé my-package qui était affecté au dépôt octocat/my-repo, vous pouvez restaurer ce package seulement si l'espace de noms du package rubygem.pkg.github.com/octocat/my-repo/my-package est toujours disponible et que 30 jours ne se sont pas encore écoulés.
Pour supprimer un package, vous devez également disposer d'autorisations d'administrateur sur le référentiel dans lequel le package est publié.
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.
-
Sur GitHub, accédez à la page principale de l’organisation.
-
Sous le nom de votre organisation, cliquez sur Settings. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Sur la gauche, cliquez sur Packages.
-
Sous « Packages supprimés », en regard du package que vous souhaitez restaurer, cliquez sur Restaurer.
-
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.
- Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil, puis sur Paramètres.
- Dans la barre latérale gauche, cliquez sur Packages.
- Sous « Packages supprimés », en regard du package que vous souhaitez restaurer, cliquez sur Restaurer.
- 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.
-
Accédez à la page d'accueil de votre package.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Dans la page d’accueil de votre package, sur le côté droit, cliquez sur Paramètres du package.

-
Accédez à l’emplacement où vous pouvez gérer les versions pour votre type de package.
- Si votre package est un conteneur, sous la section « Versions récentes », cliquez sur Afficher et gérer toutes les versions.

- Pour les types de packages autres que les conteneurs :
- Dans la partie droite, cliquez sur Paramètres de l’ensemble.

- Sur la gauche, cliquez sur Gérer les versions.

- Dans la partie droite, cliquez sur Paramètres de l’ensemble.
- Si votre package est un conteneur, sous la section « Versions récentes », cliquez sur Afficher et gérer toutes les versions.
-
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é.

-
En regard de la version de package supprimée que vous souhaitez restaurer, cliquez sur Restaurer.
-
Pour confirmer, cliquez sur Je comprends les conséquences, restaurer cette version.