Поддержка удаления и восстановления пакетов на GitHub
Если GitHub у вас есть необходимый доступ, вы можете удалить:
- Весь частный пакет
- Весь общедоступный пакет, если не более 5000 скачиваний любой версии пакета
- Определенная версия частного пакета
- Определенная версия общедоступного пакета, если версия пакета не превышает 5000 скачиваемых файлов.
Примечание.
- Нельзя удалить общедоступный пакет, если какая-либо версия этого пакета скачивалась более 5000 раз. В таком случае свяжитесь с нами Портал поддержки GitHub через сайт для дополнительной помощи.
- При удалении общедоступных пакетов следует помнить, что вы можете прервать работу проектов, зависящих от этого пакета.
На GitHub, вы также можете восстановить полный пакет или версию пакета, если:
- восстановление пакета выполняется в течение 30 дней после его удаления;
- пространство имен пакета по-прежнему доступно и не используется для нового пакета.
Поддержка API пакетов
Примечание.
GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Управление личными маркерами доступа.
Для управления пакетами можно использовать REST API. Дополнительные сведения см. в разделе AUTOTITLE.
Примечание.
Возможность удаления и восстановления пакетов с помощью REST API GitHub Actions в настоящее время находится в Публичный предварительный просмотр и подлежит изменению.
В реестрах с поддержкой детализированных прав вы можете использовать a GITHUB_TOKEN в GitHub Actions рабочем процессе для удаления или восстановления пакетов с помощью REST API. Маркер должен иметь admin разрешение на пакет. Если рабочий процесс публикует пакет, admin роль по умолчанию предоставляется репозиторию, в котором хранится рабочий процесс. Для существующих пакетов, не опубликованных рабочим процессом, необходимо предоставить репозиторию роль admin , позволяющую использовать GitHub Actions рабочий процесс для удаления или восстановления пакетов с помощью REST API. Дополнительные сведения см. в разделе Настройка управления доступом и видимости пакета.
Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета.
С реестрами, поддерживающими детализированные разрешения, нельзя использовать API GraphQL GitHub Packages GraphQL. Реестры, поддерживающие только разрешения в области репозитория, и которые могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для пакетов GitHub.
Необходимые разрешения для удаления или восстановления пакета
С помощью реестров, поддерживающих детализированные разрешения, вы можете разрешить доступ к пакетам для пользователей или организации или связаться с репозиторием.
Чтобы удалить пакет с детализированными правами, отдельными от репозитория, например, изображениями контейнеров, хранящихся на https://containers.HOSTNAME/NAMESPACE/PACKAGE-NAME``https://ghcr.io/NAMESPACE/PACKAGE-NAMEсайте, или пакетами, хранящимися на https://npm.pkg.github.com/NAMESPACE/PACKAGE-NAME сайте (где NAMESPACE указано название личной учётной записи или организации, к которой связан пакет), необходимо иметь администраторский доступ к пакету. Дополнительные сведения см. в разделе Сведения о разрешениях для пакетов GitHub.
Пакеты, наследующие права доступа от репозиториев, можно удалять, если у вас есть разрешения администратора для репозитория.
Некоторые реестры поддерживают только пакеты с областью действия репозитория. Список этих реестров см. в разделе Сведения о разрешениях для пакетов GitHub.
Удаление версии пакета
Удаление версии пакета с repository-scope на GitHub
Чтобы удалить версию пакета с областью репозитория, необходимо иметь разрешения администратора на репозиторий, в котором публикуется пакет. Дополнительные сведения см. в разделе Требуемые разрешения.
-
На GitHubперейдите на главную страницу репозитория.
-
В правой боковой панели репозитория щелкните " Пакеты".

-
Найдите и выберите имя пакета, который требуется управлять.
-
Перейдите к тому, где можно управлять версиями для вашего типа пакета.
- Если пакет является контейнером, в разделе "Последние версии" нажмите кнопку "Просмотреть и управлять всеми версиями".

- Для типов пакетов, отличных от контейнеров:
- В правой части щелкните Параметры пакета.

- Слева щелкните " Управление версиями".

- В правой части щелкните Параметры пакета.
- Если пакет является контейнером, в разделе "Последние версии" нажмите кнопку "Просмотреть и управлять всеми версиями".
-
В списке пакетов найдите версию пакета, которую требуется удалить.
- Если пакет является контейнером, справа от версии пакета щелкните , а затем выберите "Удалить версию из раскрывающегося меню".

- Для типов пакетов, отличных от контейнеров, справа от версии пакета нажмите кнопку "Удалить".

- Если пакет является контейнером, справа от версии пакета щелкните , а затем выберите "Удалить версию из раскрывающегося меню".
-
Чтобы подтвердить удаление, введите имя пакета и выберите Я понимаю последствия, удалить эту версию.
Удаление версии пакета с областью репозитория с помощью GraphQL
Для некоторых реестров можно использовать GraphQL для удаления версии частного пакета.
С реестрами, поддерживающими детализированные разрешения, нельзя использовать API GraphQL GitHub Packages GraphQL. Реестры, поддерживающие только разрешения в области репозитория, и которые могут использоваться с API GraphQL, см. в разделе Сведения о разрешениях для пакетов GitHub. Для информации об использовании REST API см. Конечные точки REST API для пакетов.
Использование изменения deletePackageVersion в API GraphQL. Вы должны использовать a personal access token (classic) с read:packages, delete:packagesи repo прицелами. Дополнительные сведения см. в personal access tokens (classic)разделе Введение в GitHub Packages.
В следующем примере показано, как удалить версию пакета с помощью packageVersionId``MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg.
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 версий пакетов, вы можете использовать packages соединение через объект repository . Вам понадобится personal access token (classic) проверка с read:packages эндоскопами repo . Дополнительные сведения см. в описании подключения packages или интерфейса PackageOwner.
Дополнительные сведения о мутации deletePackageVersion см. в разделе Packages.
Вы не можете напрямую удалить весь пакет с помощью GraphQL, но если удалить все версии пакета, пакет больше не будет отображаться на GitHub.
Удаление всего пакета
Удаление целого пакета с репозиторием на GitHub
Чтобы удалить весь пакет с областью репозитория, необходимо иметь разрешения администратора для репозитория, которому принадлежит пакет. Дополнительные сведения см. в разделе Требуемые разрешения.
-
На GitHubперейдите на главную страницу репозитория.
-
В правой боковой панели репозитория щелкните " Пакеты".

-
Найдите и выберите имя пакета, который требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.

-
В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".
-
Чтобы подтвердить, просмотрите сообщение с подтверждением, введите имя пакета и щелкните "Я понимаю", удалите этот пакет.
Удаление целого пользовательского пакета на GitHub
Сведения о том, кто может удалить пакет, см. в разделе "Необходимые разрешения".
-
В GitHub перейдите на главную страницу личной учетной записи.
-
В правом верхнем углу GitHubщелкните рисунок профиля, а затем щелкните профиль.

-
На странице профиля в заголовке щелкните вкладку "Пакеты" Packages .
-
Найдите и выберите имя пакета, который требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.

-
В левой части экрана нажмите кнопку " Параметры".

-
В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".
-
В поле подтверждения введите имя пакета, чтобы подтвердить его удаление.
-
Щелкните "Я понимаю последствия", удалите этот пакет.
Удаление целого пакета с организационным охватом на GitHub
Сведения о том, кто может удалить пакет, см. в разделе "Необходимые разрешения".
-
В GitHub перейдите на главную страницу вашей организации.
-
Под именем организации щелкните вкладку "Пакет" aria-hidden="true" aria-label="package" %} "Package ".

-
Найдите и выберите имя пакета, который требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.

-
В левой части экрана нажмите кнопку " Параметры".

-
В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".
-
В поле подтверждения введите имя пакета, чтобы подтвердить его удаление.
-
Щелкните "Я понимаю последствия", удалите этот пакет.
Восстановление пакетов
Удаленный пакет или версию пакета можно восстановить, если:
- восстановление пакета выполняется в течение 30 дней после его удаления;
- пространство имен пакета и версии по-прежнему доступно и не используется для нового пакета.
Например, если вы являетесь пользователем octocatи у вас есть удаленный пакет RubyGems с именем, который my-package был ограничен репозиторием octocat/my-repo, вы можете восстановить пакет только в том случае, если пространство rubygem.pkg.github.com/octocat/my-repo/my-package имен пакета по-прежнему доступно, и 30 дней еще не прошли.
Чтобы удалить пакет, необходимо также иметь права администратора на репозиторий, в котором он опубликован.
Дополнительные сведения см. в разделе Требуемые разрешения.
После восстановления пакета он будет использовать то же пространство имен, что и раньше. Если то же самое пространство имен пакета недоступно, вы не сможете восстановить пакет. В таком случае для восстановления удаленного пакета сначала необходимо удалить новый пакет, использующий пространство имен удаленного пакета.
Восстановление пакета в организации
Вы можете восстановить удаленный пакет с помощью параметров учетной записи организации, если пакет был в репозитории, принадлежащем организации, или имел подробные разрешения и был ограничен вашей учетной записью организации.
Сведения о том, кто может восстановить пакет в организации, см. в разделе "Необходимые разрешения".
-
На GitHubперейдите на главную страницу организации.
-
Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

-
В левой части окна щелкните Пакеты.
-
В разделе "Удаленные пакеты" нажмите кнопку Восстановить рядом с пакетом, который требуется восстановить.
-
Чтобы подтвердить, введите имя пакета и выберите Я понимаю последствия, восстановить этот пакет.
Восстановление пакета с областью учетной записи пользователя
Вы можете восстановить удаленный пакет с помощью параметров вашей личной учетной записи, если пакет был в одном из ваших репозиториев или был ограничен областью вашей личной учетной записи. Дополнительные сведения см. в разделе Требуемые разрешения.
- В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля, а затем выберите октикона "шестеренка" aria-hidden="true" aria-label="gear" %} Settings.
- На боковой панели слева нажмите Пакеты.
- В разделе "Удаленные пакеты" нажмите кнопку Восстановить рядом с пакетом, который требуется восстановить.
- Чтобы подтвердить, введите имя пакета и выберите Я понимаю последствия, восстановить этот пакет.
Восстановление версии пакета
Версию пакета можно восстановить на целевой странице пакета. Сведения о том, кто может восстановить пакет, см. в разделе "Необходимые разрешения".
-
Перейдите на целевую страницу пакета.
-
Найдите и выберите имя пакета, который требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.

-
Перейдите к тому, где можно управлять версиями для вашего типа пакета.
- Если пакет является контейнером, в разделе "Последние версии" нажмите кнопку "Просмотреть и управлять всеми версиями".

- Для типов пакетов, отличных от контейнеров:
- В правой части щелкните Параметры пакета.

- Слева щелкните " Управление версиями".

- В правой части щелкните Параметры пакета.
- Если пакет является контейнером, в разделе "Последние версии" нажмите кнопку "Просмотреть и управлять всеми версиями".
-
В правом верхнем углу списка версий пакетов используйте раскрывающийся список " Выбор версий" и выберите "Удалить".

-
Рядом с удаленной версией пакета, которую требуется восстановить, нажмите кнопку Восстановить.
-
Чтобы подтвердить, щелкните "Я понимаю последствия", восстановите эту версию.