パッケージを削除および復元する

パッケージの削除と復元の方法を学びます。

GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server、GitHub AEで利用できます。

GitHubにおけるパッケージの削除および復元のサポート

GitHubでは、必要なアクセス権がある場合、以下を削除できます。

  • プライベートパッケージ全体
  • パッケージの全バージョンでダウンロード数が25以下の場合、パブリックパッケージ全体
  • プライベートパッケージの特定のバージョン
  • パッケージバージョンのダウンロード数が25以下の場合、パブリックパッケージの特定のバージョン

注釈:

  • パッケージのいずれかのパージョンでダウンロード数が25を超えている場合は、パブリックパッケージを削除できません。 この場合は、GitHubサポートまでお問い合わせください。
  • パブリックパッケージを削除する場合、そのパッケージに依存するプロジェクトを破壊する可能性があることに注意してください。

GitHubでは、以下の場合にパッケージ全体またはパッケージバージョンを復元できます。

  • 削除後30日以内にパッケージを復元する。
  • 同一のパッケージ名前空間が使用可能であり、新しいパッケージで使用されていない。

パッケージAPIのサポート

リポジトリから権限とアクセス権を継承するパッケージの場合、GraphQLを使用して特定のパッケージバージョンを削除できます。

パッケージの削除や復元に必要な権限

リポジトリからアクセス権限を継承しているパッケージの場合、そのリポジトリに対する管理者権限がある場合はパッケージを削除できます。

GitHub Packages上でリポジトリのスコープが付いたパッケージには、以下が挙げられます。

  • npm
  • RubyGems
  • maven
  • Gradle
  • NuGet
  • docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAMEのDockerイメージ

GitHub Actionsでパッケージのバージョン削除を自動化する

GitHubが作成した公式のアクションを使用して、パッケージのバージョン削除を自動化できます。 このアクションはactionsリポジトリまたはGitHub Marketplace上で使用でき、リポジトリのスコープが付いたパッケージでのみ動作します。 詳しい情報については、GitHub Marketplaceまたはactionsリポジトリの「Delete Package Versions」アクションを参照してください。

パッケージのバージョンを削除する

GitHub上でリポジトリのスコープが付いたバージョンを削除する

リポジトリのスコープが付いたパッケージのバージョンを削除するには、パッケージを所有するリポジトリの管理者権限が必要です。 詳しい情報については、「必要な権限」を参照してください。

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。

  2. ファイルのリストの右で、Packagesをクリックしてください。

    概要ページのパッケージリンク

  3. パッケージを検索して選択してください。

  4. パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてください。 パッケージ設定ボタン

  5. 左にある [Manage versions] をクリックします。

  6. 削除するバージョンの右側で、 をクリックした後、[Delete version] を選択します。 パッケージバージョンの削除ボタン

  7. 削除を確認するために、パッケージ名を入力してI understand the consequences, delete this version(生じることを理解したので、このバージョンを削除してください)をクリックしてください。 パッケージの削除の確認ボタン

GraphQLでリポジトリのスコープが付いたパッケージのバージョンを削除する

リポジトリから権限とアクセスを継承しているパッケージの場合、GraphQLを使用して特定のパッケージバージョンを削除できます。

GraphQL APIのdeletePackageVersionミューテーションを使ってください。 read:packagesdelete:packagesrepoスコープを持つトークンを使わなければなりません。 トークンに関する詳しい情報については「GitHub Packagesについて」を参照してください。

以下の例では、MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNgpackageVersionIdを使用して、パッケージバージョンを削除する方法を示します。

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

パッケージのバージョンIDと併せてGitHub Packagesに公開したすべてプライベートパッケージを見つけるには、registryPackagesForQueryコネクションが利用できます。 read:packages及びrepoのスコープを持つトークンが必要です。 For more information, see "registryPackagesForQuery."

deletePackageVersionミューテーションの詳しい情報については、「deletePackageVersion」を参照してください。

GraphQLを使用してパッケージ全体を直接削除することはできませんが、パッケージのすべてのバージョンを削除すれば、パッケージはGitHub Enterprise Server上に表示されなくなります。

パッケージ全体を削除する

GitHub上でリポジトリのスコープが付いたパッケージ全体を削除する

リポジトリのスコープが付いたパッケージ全体を削除するには、パッケージを所有するリポジトリの管理者権限が必要です。 詳しい情報については、「必要な権限」を参照してください。

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。

  2. ファイルのリストの右で、Packagesをクリックしてください。

    概要ページのパッケージリンク

  3. パッケージを検索して選択してください。

  4. パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてください。 パッケージ設定ボタン

  5. [Danger Zone] の下にある [Delete this package] をクリックします。

  6. 確認メッセージを読み、パッケージ名を入力してから、[I understand, delete this package.] をクリックします。 パッケージの削除の確認ボタン

パッケージを復元する

以下の場合、削除したパッケージまたはバージョンを復元できます。

  • 削除後30日以内にパッケージを復元する。
  • 同一のパッケージ名前空間がまだ使用可能であり、新しいパッケージで再使用されていない。

たとえば、リポジトリocto-repo-owner/octo-repoのスコープが付いていた、octo-packageという名前のrubygemパッケージを削除した場合、パッケージ名前空間rubygem.pkg.github.com/octo-repo-owner/octo-repo/octo-package がまだ使用可能で、かつ30日間が経過していない場合にのみ、そのパッケージを復元できます。

また、次の権限要件のいずれかを満たす必要もあります。

  • リポジトリのスコープが付いたパッケージ: 削除したパッケージを所有するリポジトリの管理者権限。
  • ユーザアカウントのスコープが付いたパッケージ: ユーザアカウントが削除したパッケージを所有している。
  • Organizationのスコープが付いたパッケージ: 削除したパッケージ内の、パッケージを所有するOrganizationの管理者権限。

詳しい情報については、「必要な権限」を参照してください。

パッケージが復元されると、そのパッケージは以前使用していたものと同じ名前空間を使用します。 同一のパッケージ名前空間が使用可能でない場合、パッケージを復元できません。 この場合、削除したパッケージを復元するには、まず削除したパッケージの名前空間を使用する新しいパッケージを削除する必要があります。

Organization内のパッケージを復元する

パッケージが所有するリポジトリにあったか、詳細なアクセス権限が設定されていて、所属するOrganizationアカウントのスコープが付いていた場合、削除されたパッケージをOrganizationアカウント設定から復元できます。

Organizationでパッケージを復元できるユーザを確認するには、「必要な権限」を参照してください。

  1. GitHub Enterprise Serverで、Organizationのメインページにアクセスしてください。
  2. Organization名の下で、Settings(設定)をクリックしてください。 Organizationの設定ボタン
  3. 左側にある [Packages] をクリックします。
  4. [Deleted Packages] の、復元するパッケージの隣にある [Restore] をクリックします。 リストアボタン
  5. 確認のため、パッケージ名を入力して [I understand the consequences, restore this package] をクリックします。 パッケージ復元の確認ボタン

ユーザアカウントのスコープが付いたパッケージを復元する

パッケージが所有するリポジトリにあったか、ユーザアカウントのスコープが付いていた場合、削除されたパッケージをユーザアカウント設定から復元できます。 詳しい情報については、「必要な権限」を参照してください。

  1. 任意のページの右上で、プロフィール画像をクリックし、続いてSettings(設定)をクリックしてください。 ユーザバーの [Settings(設定)] アイコン
  2. 左側にある [Packages] をクリックします。
  3. [Deleted Packages] の、復元するパッケージの隣にある [Restore] をクリックします。 リストアボタン
  4. 確認のため、パッケージ名を入力して [I understand the consequences, restore this package] をクリックします。 パッケージ復元の確認ボタン

パッケージのバージョンを復元する

パッケージのランディングページから、パッケージのバージョンを復元できます。 パッケージを復元できるユーザを確認するには、「必要な権限」を参照してください。

  1. パッケージのランディングページに移動します。
  2. 右側にある [Package settings] をクリックします。
  3. 左にある [Manage versions] をクリックします。
  4. 左上の [Versions] ドロップダウンメニューで、[Deleted] を選択します。 削除されたバージョンを表示するドロップダウンメニュー
  5. 復元する削除されたパッケージの隣の、[Restore] をクリックします。 削除されたパッケージのバージョンの隣にある復元オプション
  6. 確認のため、[I understand the consequences, restore this version.] をクリックします。 パッケージバージョン復元の確認

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡