Unterstützung für das Löschen und die Wiederherstellung von Paketen auf GitHub
Auf GitHub können Sie, wenn Sie über die erforderlichen Zugriffsrechte verfügen, Folgendes löschen:
- ein komplettes privates Paket
- ein gesamtes öffentliches Paket, wenn eine Version des Pakets nicht mehr als 5.000 Downloads aufweist
- eine bestimmte Version eines privaten Pakets
- eine bestimmte Version eines öffentlichen Pakets, wenn die Paketversion nicht mehr als 5.000 Downloads aufweist
Hinweis
- Du kannst ein öffentliches Paket nicht löschen, wenn eine Version des Pakets mehr als 5.000 Downloads aufweist. Wenden Sie sich in diesem Fall über das GitHub-Supportportal an uns, um weitere Unterstützung zu erhalten.
- Beachte beim Löschen öffentlicher Pakete, dass du möglicherweise Projekte unterbrichst, die von deinem Paket abhängen.
Bei GitHub, können Sie auch ein gesamtes Paket oder eine gesamte Paketversion wiederherstellen, wenn:
- Du stellst das Paket innerhalb von 30 Tagen nach dem Löschen wieder her.
- Derselbe Namensraum für Pakete ist nach wie vor unverändert verfügbar und nicht für ein neues Paket in Gebrauch genommen.
Paket-API-Unterstützung
Hinweis
GitHub Packages unterstützt nur die Authentifizierung mit einem personal access token (classic). Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.
Du kannst die REST-API verwenden, um deine Pakete zu verwalten. Weitere Informationen findest du unter REST-API-Endpunkte für Pakete.
Hinweis
Die Möglichkeit für GitHub Actions-Workflows, Pakete mithilfe der REST-API zu löschen und wiederherzustellen, befindet sich derzeit in der Öffentliche Vorschau. Änderungen sind vorbehalten.
Mit Registrierungsstellen, die granulare Berechtigungen unterstützen, können Sie einen GITHUB_TOKEN in einem GitHub Actions Workflow verwenden, um Pakete mithilfe der REST-API zu löschen oder wiederherzustellen. Das Token muss über die admin-Berechtigung für das Paket verfügen. Wenn dein Workflow ein Paket veröffentlicht, wird die admin-Rolle standardmäßig dem Repository zugewiesen, in dem der Workflow gespeichert ist. Für vorhandene Pakete, die nicht von einem Workflow veröffentlicht wurden, müssen Sie dem Repository die admin Rolle erteilen, um einen GitHub Actions Workflow zum Löschen oder Wiederherstellen von Paketen mithilfe der REST-API verwenden zu können. Weitere Informationen finden Sie unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.
Bei bestimmten Registrierungen kannst du GraphQL zum Löschen einer Version eines privaten Pakets verwenden.
Du kannst die GitHub Packages-GraphQL-API nicht bei Registrierungen verwenden, die differenzierte Berechtigungen unterstützen. Informationen zu Registrierungen, die ausschließlich repositorybezogene Berechtigungen unterstützen und mit der GraphQL-API verwendet werden können, findest du unter Informationen zu Berechtigungen für GitHub-Pakete.
Erforderliche Berechtigungen zum Löschen oder Wiederherstellen eines Pakets
Bei Registrierungen, die differenzierte Berechtigungen unterstützen, kannst du festlegen, dass Pakete auf einen Benutzer oder eine Organisation ausgerichtet oder mit einem Repository verknüpft werden sollen.
Um ein Paket zu löschen, das über granulare Berechtigungen verfügt, die getrennt von einem Repository verwaltet werden, z. B. Container-Images, die unter https://ghcr.io/NAMESPACE/PACKAGE-NAME gespeichert sind, oder Pakete, die unter https://npm.pkg.github.com/NAMESPACE/PACKAGE-NAME gespeichert sind (wobei NAMESPACE der Name des persönlichen Kontos oder der Organisation ist, für das bzw. die das Paket gilt), müssen Sie über Adminzugriff auf das Paket verfügen. Weitere Informationen finden Sie unter Informationen zu Berechtigungen für GitHub-Pakete.
Bei Paketen, die ihre Zugriffsberechtigungen von Repositorys erben, kannst du ein Paket löschen, wenn du über Administratorberechtigungen für das Repository verfügst.
Einige Registrierungen unterstützen nur repositorybezogene Pakete. Eine Liste dieser Registrierungen findest du unter Informationen zu Berechtigungen für GitHub-Pakete.
Löschen einer Paketversion
Löschen einer Version eines auf ein Repository beschränkten Pakets auf GitHub
Um eine Version eines repositorygebundenen Pakets zu löschen, müssen Sie über Administratorrechte für das Repository verfügen, in dem das Paket veröffentlicht wird. Weitere Informationen finden Sie unter Erforderliche Berechtigungen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.

-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

-
Suche in der Liste der Pakete die Version des Pakets, das du löschen möchtest.
- Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Delete version aus.

- Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.

- Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Delete version aus.
-
Gib zum Bestätigen der Löschung den Paketnamen ein, und klicke auf Ich verstehe die Folgen, diese Version löschen.
Löschen einer Version eines repositorybezogenen Pakets mit GraphQL
Bei bestimmten Registrierungen kannst du GraphQL zum Löschen einer Version eines privaten Pakets verwenden.
Du kannst die GitHub Packages-GraphQL-API nicht bei Registrierungen verwenden, die differenzierte Berechtigungen unterstützen. Informationen zu Registrierungen, die ausschließlich repositorybezogene Berechtigungen unterstützen und mit der GraphQL-API verwendet werden können, findest du unter Informationen zu Berechtigungen für GitHub-Pakete. Informationen zur Verwendung der REST-API stattdessen finden Sie unter REST-API-Endpunkte für Pakete.
Verwende die deletePackageVersion-Mutation in der GraphQL-API. Sie müssen ein personal access token (classic) mit den Bereichen read:packages, delete:packages und repo verwenden. Weitere Informationen zu personal access tokens (classic) findest du unter Einführung in GitHub-Pakete.
Im folgenden Beispiel wird veranschaulicht, wie eine Paketversion mithilfe einer packageVersionId von MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg gelöscht wird.
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
Um alle privaten Pakete zu finden, die Sie auf GitHub Packages veröffentlicht haben, einschließlich der Versions-IDs der Pakete, können Sie die packages-Verbindung über das repository-Objekt nutzen. Sie benötigen eine personal access token (classic) mit den read:packages und repo Berechtigungen. Weitere Informationen findest du in der packages-Verbindung oder der PackageOwner-Schnittstelle.
Weitere Informationen zur deletePackageVersion-Mutation findest du unter Pakete.
Sie können ein gesamtes Paket nicht direkt mit GraphQL löschen, aber wenn Sie jede Version eines Pakets löschen, wird das Paket nicht mehr angezeigt GitHub.
Löschen einer Version eines benutzerspezifischen Pakets auf GitHub
Wenn Sie eine bestimmte Version eines benutzerbezogenen Pakets GitHublöschen möchten, z. B. für ein Docker-Image unter ghcr.io, führen Sie die folgenden Schritte aus. Informationen zum Löschen eines gesamten Pakets finden Sie unter Löschen eines gesamten benutzerbezogenen Pakets auf GitHub.
Informationen zum Überprüfen, wer eine Paketversion löschen kann, findest du unter Erforderliche Berechtigungen.
-
Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.
-
Klicke in der rechten oberen Ecke von GitHub auf dein Profilbild und dann auf Your profile.

-
Klicke in der Kopfzeile deiner Profilseite auf die Registerkarte Packages.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

-
Suche in der Liste der Pakete die Version des Pakets, das du löschen möchtest.
- Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Delete version aus.

- Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.

- Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Delete version aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du die ausgewählte Version davon löschen möchtest.
-
Wähle Ich verstehe die Folgen, diese Version löschen aus.
Löschen einer Version eines Pakets auf Organisationsebene auf GitHub
Führen Sie die folgenden Schritte aus, um eine bestimmte Version eines organisationsbezogenen Pakets GitHubzu löschen, z. B. für ein Docker-Image bei ghcr.io.
Informationen zum Löschen eines gesamten Pakets finden Sie unter Löschen eines gesamten organisationsgebundenen Pakets auf GitHub.
Informationen zum Überprüfen, wer eine Paketversion löschen kann, findest du unter Erforderliche Berechtigungen zum Löschen oder Wiederherstellen eines Pakets.
-
Navigiere auf GitHub zur Hauptseite deiner Organisation.
-
Klicke unter dem Namen deiner Organisation auf die Registerkarte Packages.

-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

-
Suche in der Liste der Pakete die Version des Pakets, das du löschen möchtest.
- Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Delete version aus.

- Wähle für andere Pakettypen als Container rechts neben der Paketversion die Option Löschen aus.

- Wenn es sich bei deinem Paket um einen Container handelt, klicke rechts neben der Paketversion auf , und wähle dann im Dropdownmenü Delete version aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du die ausgewählte Version davon löschen möchtest.
-
Wähle Ich verstehe die Folgen, diese Version löschen aus.
Löschen eines gesamten Pakets
Löschen eines gesamten Repository-bezogenen Pakets auf GitHub
Zum Löschen eines gesamten repositorybezogenen Pakets musst du Administratorberechtigungen für das Repository besitzen, das das Paket besitzt. Weitere Informationen finden Sie unter Erforderliche Berechtigungen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.

-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Klicke rechts neben der Landing Page deines Pakets auf Package settings.

-
Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.
-
Um zu bestätigen, lies die Bestätigungsmeldung, gib den Paketnamen ein, und wähle Ich verstehe, lösche dieses Paket aus.
Löschen eines gesamten benutzerspezifischen Pakets auf GitHub
Informationen zum Überprüfen, wer ein Paket löschen kann, findest du unter Erforderliche Berechtigungen.
-
Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.
-
Klicke in der rechten oberen Ecke von GitHub auf dein Profilbild und dann auf Your profile.

-
Klicke in der Kopfzeile deiner Profilseite auf die Registerkarte Packages.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Klicke rechts neben der Landing Page deines Pakets auf Package settings.

-
Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du es löschen möchtest.
-
Wähle Ich verstehe die Folgen, dieses Paket löschen aus.
Löschen eines gesamten organisationsweiten Pakets auf GitHub
Informationen zum Überprüfen, wer ein Paket löschen kann, findest du unter Erforderliche Berechtigungen.
-
Navigiere auf GitHub zur Hauptseite deiner Organisation.
-
Klicke unter dem Namen deiner Organisation auf die Registerkarte Packages.

-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Klicke rechts neben der Landing Page deines Pakets auf Package settings.

-
Wähle unten auf der Seite unter „Gefahrenzone“ die Option Dieses Paket löschen aus.
-
Gib im Bestätigungsfeld den Namen des Pakets ein, um zu bestätigen, dass du es löschen möchtest.
-
Wähle Ich verstehe die Folgen, dieses Paket löschen aus.
Wiederherstellen von Paketen
Du kannst ein gelöschtes Paket oder eine Version wiederherstellen, wenn Folgendes zutrifft:
- Du stellst das Paket innerhalb von 30 Tagen nach dem Löschen wieder her.
- Derselbe Paketnamespace und die Version sind weiterhin verfügbar und werden nicht für ein neues Paket verwendet.
Wenn du beispielsweise der Benutzer octocat wärst und ein gelöschtes RubyGems-Paket namens my-package vorhanden wäre, das auf das Repository octocat/my-repo begrenzt war, kannst du das Paket nur wiederherstellen, wenn der Paketnamespace rubygem.pkg.github.com/octocat/my-repo/my-package noch verfügbar ist und noch nicht mehr als 30 Tage vergangen sind.
Um ein gelöschtes Paket wiederherzustellen, müssen Sie auch eine der folgenden Berechtigungsanforderungen erfüllen:
- Für repositorybezogene Pakete: Du verfügst über Administratorberechtigungen für das Repository, in dem das gelöschte Paket veröffentlicht wird.
- Für benutzerkontobezogene Pakete: Das gelöschte Paket wird deinem persönlichen Konto zugeordnet.
- Für organisationsbezogene Pakete: Du verfügst über Administratorberechtigungen für das gelöschte Paket in der Organisation, der das Paket zugeordnet wird.
Weitere Informationen finden Sie unter Erforderliche Berechtigungen.
Sobald das Paket wiederhergestellt wurde, verwendet das Paket denselben Namespace, den es zuvor verwendet hat. Wenn derselbe Paketnamespace nicht verfügbar ist, kannst du dein Paket nicht wiederherstellen. In diesem Szenario musst du zum Wiederherstellen des gelöschten Pakets zuerst das neue Paket löschen, das den Namespace des gelöschten Pakets verwendet.
Wiederherstellen eines Pakets in einer Organisation
Du kannst ein gelöschtes Paket über deine Organisationskontoeinstellungen wiederherstellen, solange sich das Paket in einem Repository befand, das der Organisation gehörte, oder über granulare Berechtigungen verfügte und sich auf dein Organisationskonto bezog.
Informationen zum Überprüfen, wer ein Paket in einer Organisation wiederherstellen kann, findest du unter Erforderliche Berechtigungen.
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter dem Organisationsnamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

-
Klicke auf der linken Seite auf Pakete.
-
Klicke unter „Gelöschte Pakete“ neben dem Paket, das du wiederherstellen möchtest, auf Wiederherstellen.
-
Gib zum Bestätigen den Paketnamen ein, und klicke auf Ich verstehe die Folgen, dieses Paket wiederherstellen.
Wiederherstellen eines benutzerkonto-spezifischen Pakets
Du kannst ein gelöschtes Paket über die Einstellungen deines persönlichen Kontos wiederherstellen, wenn sich das Paket in einem deiner Repositorys befand oder auf dein persönliches Konto bezogen war. Weitere Informationen finden Sie unter Erforderliche Berechtigungen.
- Klicke in der oberen rechten Ecke einer Seite auf GitHub auf dein Profilbild und dann auf Settings.
- Klicke auf der linken Randleiste auf Pakete.
- Klicke unter „Gelöschte Pakete“ neben dem Paket, das du wiederherstellen möchtest, auf Wiederherstellen.
- Gib zum Bestätigen den Paketnamen ein, und klicke auf Ich verstehe die Folgen, dieses Paket wiederherstellen.
Wiederherstellen einer Paketversion
Sie können eine Paketversion auf der Landing Page Ihres Pakets wiederherstellen. Informationen zum Überprüfen, wer ein Paket wiederherstellen kann, findest du unter Erforderliche Berechtigungen.
-
Navigiere zur Startseite deines Pakets.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Klicke rechts neben der Landing Page deines Pakets auf Package settings.

-
Wähle in der Liste „Zuletzt verwendete Versionen“ die Option Alle Versionen anzeigen und verwalten aus.

-
Wähle in der rechten oberen Ecke der Liste der Paketversionen im Dropdownmenü Versionsansicht auswählen die Option Gelöscht aus.

-
Klicke neben der gelöschten Paketversion, die du wiederherstellen möchtest, auf Wiederherstellen.
-
Wähle zum Bestätigen Ich verstehe die Folgen, diese Version wiederherstellen aus.