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

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

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

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


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 詳しい情報については「[GitHubの製品](/articles/github-s-products)」を参照してください。

ここには以下の内容があります:

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

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

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

注釈:

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

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

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

パッケージAPIのサポート

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

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

注釈: GitHub Container Registry は現在パブリックベータであり、変更されることがあります。 ベータ期間中は、ストレージおよび帯域幅の制限はありません。 GitHub Container Registryを使用するには、機能プレビューを有効化しなければなりません。 詳しい情報については「GitHub Container Registryについて」及び「改善されたコンテナサポートの有効化」を参照してください。

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

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

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

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

https://ghcr.io/OWNER/PACKAGE-NAMEに保存されたコンテナやDockerイメージなど、リポジトリとは別に個別の権限を持つパッケージを削除する場合は、そのパッケージに対するアクセス権限が必要です。

注釈: GitHub Container Registry は現在パブリックベータであり、変更されることがあります。 ベータ期間中は、ストレージおよび帯域幅の制限はありません。 GitHub Container Registryを使用するには、機能プレビューを有効化しなければなりません。 詳しい情報については「GitHub Container Registryについて」及び「改善されたコンテナサポートの有効化」を参照してください。

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

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

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

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

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

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

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

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

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

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

    パッケージ設定ボタン

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

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

    パッケージバージョンの削除ボタン

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

    パッケージの削除の確認ボタン

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

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

GraphQLは、ghcr.ioにあるコンテナやDockerイメージではサポートされていません。 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上に表示されなくなります。

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

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

注釈: GitHub Container Registry は現在パブリックベータであり、変更されることがあります。 ベータ期間中は、ストレージおよび帯域幅の制限はありません。 GitHub Container Registryを使用するには、機能プレビューを有効化しなければなりません。 詳しい情報については「GitHub Container Registryについて」及び「改善されたコンテナサポートの有効化」を参照してください。

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

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。
  2. GitHubの右上で、プロフィール画像をクリックし、続いて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のスコープが付いたパッケージ全体を削除する」を参照してください。

注釈: GitHub Container Registry は現在パブリックベータであり、変更されることがあります。 ベータ期間中は、ストレージおよび帯域幅の制限はありません。 GitHub Container Registryを使用するには、機能プレビューを有効化しなければなりません。 詳しい情報については「GitHub Container Registryについて」及び「改善されたコンテナサポートの有効化」を参照してください。

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

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization名の下で、Packages(パッケージ)をクリックしてください。
    コンテナアクセス権の招待ボタン
  3. パッケージを検索して選択してください。
  4. パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてください。
    パッケージ設定ボタン
  5. 左にある [Manage versions] をクリックします。
  6. 削除するバージョンの右側で、 をクリックした後、[Delete version] を選択します。
    パッケージバージョンの削除ボタン
  7. 削除を確認するために、パッケージ名を入力してI understand the consequences, delete this version(生じることを理解したので、このバージョンを削除してください)をクリックしてください。
    パッケージバージョン削除の確認ボタン

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

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

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

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

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

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

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

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

    パッケージ設定ボタン

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

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

    パッケージの削除の確認ボタン

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

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

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。
  2. GitHubの右上で、プロフィール画像をクリックし、続いて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(パッケージ)をクリックしてください。
    コンテナアクセス権の招待ボタン
  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でパッケージを復元できるユーザを確認するには、「必要な権限」を参照してください。

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

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.