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は、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 Also, accounts using legacy per-repository plans cannot access the コンテナレジストリ since these accounts are billed by repository. 詳しい情報については「[GitHubの製品](/get-started/learning-about-github/githubs-products)」を参照してください。

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

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

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

注釈:

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

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

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

パッケージAPIのサポート

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

権限とアクセスをリポジトリから継承するパッケージでは、GraphQLを使って特定のパッケージバージョンを削除できます。GitHub PackagesGraphQL APIは、パッケージの名前空間https://ghcr.io/OWNER/PACKAGE-NAMEを使うコンテナあるいはDockerイメージをサポートしません。GraphQLサポートに関する詳しい情報については「GraphQLでリポジトリをスコープとするパッケージのバージョンを削除する」を参照してください。

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

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

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

  • npm
  • RubyGems
  • maven
  • Gradle
  • NuGet

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を使用して特定のパッケージバージョンを削除できます。

ghcr.ioにあるコンテナあるいはDockerイメージについては、GraphQLはサポートされていませんが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

GitHub Packagesに公開したすべてのプライベートパッケージをバージョンIDと合わせて見つけるには、repositoryオブジェクトを通じてpackagesコネクションを使うことができます。 read:packages及びrepoのスコープを持つトークンが必要です。 詳しい情報についてはpackagesコネクションあるいはPackageOwnerインターフェースを参照してください。

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

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

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

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

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

  1. On GitHub, navigate to the main page of your personal account.
  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(生じることを理解したので、このバージョンを削除してください)をクリックしてください。 パッケージの削除の確認ボタン

GitHub上のOrganizationスコープのパッケージのバージョンの削除

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

パッケージバージョンを削除できる人をレビューするには、「パッケージの削除あるいは復元に必要な権限」を参照してください。

  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. On GitHub, navigate to the main page of your personal account.
  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日間が経過していない場合にのみ、そのパッケージを復元できます。

削除されたパッケージを復元するには、以下の権限の要求のいずれかを満たす必要もあります。

  • リポジトリをスコープとするパッケージ: 削除されたパッケージを所有するリポジトリの管理権限を持っている。
  • ユーザアカウントのスコープが付いたパッケージ: 個人アカウントが削除したパッケージを所有している。
  • Organizationをスコープとするパッケージ: パッケージを所有するOrganization中で削除されたパッケージに対する管理権限を持っている。

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

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

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

削除されたパッケージは、そのパッケージがOrganizationの所有するリポジトリ内にあったか、Organizationアカウントをスコープとする詳細な権限を持っていたなら、Organizationアカウントの設定を通じて復元できます。

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