Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

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

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

GitHub Packages is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 or higher, and GitHub AE.


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 また、レガシーのリポジトリごとのプランを使っているアカウントは、リポジトリごとに課金されるため、コンテナレジストリにはアクセスできません。 詳しい情報については「[GitHubの製品](/get-started/learning-about-github/githubs-products)」を参照してください。

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

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

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

注釈:

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

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

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

パッケージAPIのサポート

REST APIを使用してパッケージを管理できます。 詳しい情報については、「GitHub Packages API」を参照してください。

For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version. The GitHub Packages GraphQL API does not support containers or Docker images that use the package namespace https://ghcr.io/OWNER/PACKAGE-NAME. For more information about GraphQL support, see "Deleting a version of a repository-scoped package with GraphQL."

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

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

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

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

https://ghcr.io/OWNER/PACKAGE-NAMEに保存されたコンテナイメージなど、リポジトリとは別に詳細な権限を持つパッケージを削除する場合は、そのパッケージに対するアクセス権限が必要です。 詳しい情報については「GitHub Packagesの権限について」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

For containers or Docker images at ghcr.io, GraphQL is not supported but you can use the REST API. 詳しい情報については、「GitHub Packages API」を参照してください。

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

To find all of the private packages you have published to GitHub Packages, along with the version IDs for the packages, you can use the packages connection through the repository object. read:packages及びrepoのスコープを持つトークンが必要です。 For more information, see the packages connection or the PackageOwner interface.

For more information about the deletePackageVersion mutation, see "deletePackageVersion."

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

GitHub上でユーザのスコープが付いたパッケージのバージョンを削除する

ghcr.ioにあるDockerイメージなどで、 GitHub上のユーザのスコープが付いたパッケージの、特定のバージョンを削除するには、以下のステップに従ってください。 パッケージ全体を削除するには、「GitHub上でユーザのスコープが付いたパッケージ全体を削除する」を参照してください。

パッケージのバージョンを削除できるユーザを確認するには、「必要な権限」を参照してください。

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。
  2. In the top right corner of GitHub.com, click your profile photo, then click Your profile. プロフィール画像
  3. プロフィールページで、右上のPackages(パッケージ)をクリックしてください。 プロフィールページのパッケージオプション
  4. パッケージを検索して選択してください。
  5. パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてください。 パッケージ設定ボタン
  6. 左にある [Manage versions] をクリックします。
  7. 削除するバージョンの右側で、 をクリックした後、[Delete version] を選択します。 パッケージバージョンの削除ボタン
  8. 削除を確認するために、パッケージ名を入力してI understand the consequences, delete this version(生じることを理解したので、このバージョンを削除してください)をクリックしてください。 パッケージの削除の確認ボタン

Deleting a version of an organization-scoped package on GitHub

ghcr.ioにあるDockerイメージなどで、GitHub上のOrganizationのスコープが付いたパッケージの、特定のバージョンを削除するには、以下のステップに従ってください。 パッケージ全体を削除するには、「GitHub上でOrganizationのスコープが付いたパッケージ全体を削除する」を参照してください。

To review who can delete a package version, see "Required permissions to delete or restore a package."

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

  2. Organization名の下で、Packages(パッケージ)をクリックしてください。

    Packages tab on org landing page

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。
  2. In the top right corner of GitHub.com, click your profile photo, then click Your profile. プロフィール画像
  3. プロフィールページで、右上のPackages(パッケージ)をクリックしてください。 プロフィールページのパッケージオプション
  4. パッケージを検索して選択してください。
  5. パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてください。 パッケージ設定ボタン
  6. 左側にある [Options] をクリックします。 [Options] メニューオプション
  7. [Danger zone] の下にある [Delete this package] をクリックします。 パッケージバージョンの削除ボタン
  8. 削除を確認するために、パッケージ名を入力して [I understand the consequences, delete this package] をクリックします。 パッケージバージョン削除の確認ボタン

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

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

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

  2. Organization名の下で、Packages(パッケージ)をクリックしてください。

    Packages tab on org landing page

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

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

  5. 左側にある [Options] をクリックします。 [Options] メニューオプション

  6. [Danger zone] の下にある [Delete this package] をクリックします。 パッケージの削除ボタン

  7. 削除を確認するために、パッケージ名を入力して [I understand the consequences, delete this package] をクリックします。 パッケージの削除の確認ボタン

パッケージを復元する

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

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

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

To restore a deleted package, you must also meet one of these permission requirements:

  • For repository-scoped packages: You have admin permissions to the repository that owns the deleted package.
  • ユーザアカウントのスコープが付いたパッケージ: ユーザアカウントが削除したパッケージを所有している。
  • For organization-scoped packages: You have admin permissions to the deleted package in the organization that owns the package.

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

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

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

You can restore a deleted package through your organization account settings, as long as the package was in a repository owned by the organizaton or had granular permissions and was scoped to your organization account.

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

  1. GitHub.comで、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.] をクリックします。 パッケージバージョン復元の確認