Skip to main content

Удаление и восстановление пакета

Сведения о том, как удалить или восстановить пакет.

Кто может использовать эту функцию?

Enterprise Managed Users может публиковаться в пространстве имен организации. Эти пользователи не могут публиковать пакеты в пространстве имен своей учетной записи, так как личные ресурсы хранилища отсутствуют. Дополнительные сведения о Enterprise Managed Usersсм. в разделе Сведения о Enterprise Managed Users.

Поддержка удаления и восстановления пакетов на 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 сайте (где NAMESPACE указано название личной учётной записи или организации, к которой связан пакет), необходимо иметь администраторский доступ к пакету. Дополнительные сведения см. в разделе Сведения о разрешениях для пакетов GitHub.

Пакеты, наследующие права доступа от репозиториев, можно удалять, если у вас есть разрешения администратора для репозитория.

Некоторые реестры поддерживают только пакеты с областью действия репозитория. Список этих реестров см. в разделе Сведения о разрешениях для пакетов GitHub.

Удаление версии пакета

Удаление версии пакета с repository-scope на GitHub

Чтобы удалить версию пакета с областью репозитория, необходимо иметь разрешения администратора на репозиторий, в котором публикуется пакет. Дополнительные сведения см. в разделе Требуемые разрешения.

  1. На GitHubперейдите на главную страницу репозитория.

  2. В правой боковой панели репозитория щелкните " Пакеты".

    Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" описывается оранжевым цветом.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. В списке "Последние версии" пакетов щелкните "Просмотреть и управлять всеми версиями".

    Снимок экрана: раздел "Последние версии" пакета. В нижней области ссылка "Просмотр и управление всеми версиями" выделена оранжевым контуром.

  5. В списке пакетов найдите версию пакета, которую требуется удалить.

    • Если пакет является контейнером, справа от версии пакета щелкните , а затем выберите "Удалить версию из раскрывающегося меню".
      Снимок экрана: кнопка кебаба версии пакета, развернутая для отображения меню. Ссылка "Удалить версию" в меню описана оранжевым цветом.
    • Для типов пакетов, отличных от контейнеров, справа от версии пакета нажмите кнопку "Удалить".
      Снимок экрана: версия пакета с кнопкой "Удалить". Кнопка выделена оранжевым контуром.
  6. Чтобы подтвердить удаление, введите имя пакета и выберите Я понимаю последствия, удалить эту версию.

Удаление версии пакета с областью репозитория с помощью 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, например, для образа Docker в ghcr.io, используйте эти шаги. Чтобы удалить целый пакет, см. Удаление целого пользовательского пакета на GitHub.

Сведения о том, кто может удалить версию пакета, см. в разделе "Необходимые разрешения".

  1. В GitHub перейдите на главную страницу личной учетной записи.

  2. В правом верхнем углу GitHubщелкните рисунок профиля, а затем щелкните профиль.

    Снимок экрана: раскрывающееся меню в @octocatразделе "Изображение профиля". "Ваш профиль" очертается в темно-оранжевый цвет.

  3. На странице профиля в заголовке щелкните вкладку "Пакеты" Packages .

  4. Найдите и выберите имя пакета, который требуется управлять.

  5. В списке "Последние версии" пакетов щелкните "Просмотреть и управлять всеми версиями".

    Снимок экрана: раздел "Последние версии" пакета. В нижней области ссылка "Просмотр и управление всеми версиями" выделена оранжевым контуром.

  6. В списке пакетов найдите версию пакета, которую требуется удалить.

    • Если пакет является контейнером, справа от версии пакета щелкните , а затем выберите "Удалить версию из раскрывающегося меню".
      Снимок экрана: кнопка кебаба версии пакета, развернутая для отображения меню. Ссылка "Удалить версию" в меню описана оранжевым цветом.
    • Для типов пакетов, отличных от контейнеров, справа от версии пакета нажмите кнопку "Удалить".
      Снимок экрана: версия пакета с кнопкой "Удалить". Кнопка выделена оранжевым контуром.
  7. В поле подтверждения введите имя пакета, чтобы подтвердить удаление выбранной версии пакета.

  8. Щелкните "Я понимаю последствия", удалите эту версию.

Удаление версии пакета с организационным масштабом на GitHub

Чтобы удалить определённую версию пакета с организационным охватом на GitHub, например для образа Docker в ghcr.io, используйте эти шаги. Чтобы удалить целый пакет, см. Удаление целого пакета с организационным охватом на GitHub.

Сведения о том, кто может удалить версию пакета, см. в статье "Необходимые разрешения для удаления или восстановления пакета".

  1. В GitHub перейдите на главную страницу вашей организации.

  2. Под именем организации щелкните вкладку "Пакет" aria-hidden="true" aria-label="package" %} "Package ".

    @octo-orgСнимок экрана: страница профиля. Вкладка "Пакеты" выделена оранжевым контуром.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. В списке "Последние версии" пакетов щелкните "Просмотреть и управлять всеми версиями".

    Снимок экрана: раздел "Последние версии" пакета. В нижней области ссылка "Просмотр и управление всеми версиями" выделена оранжевым контуром.

  5. В списке пакетов найдите версию пакета, которую требуется удалить.

    • Если пакет является контейнером, справа от версии пакета щелкните , а затем выберите "Удалить версию из раскрывающегося меню".
      Снимок экрана: кнопка кебаба версии пакета, развернутая для отображения меню. Ссылка "Удалить версию" в меню описана оранжевым цветом.
    • Для типов пакетов, отличных от контейнеров, справа от версии пакета нажмите кнопку "Удалить".
      Снимок экрана: версия пакета с кнопкой "Удалить". Кнопка выделена оранжевым контуром.
  6. В поле подтверждения введите имя пакета, чтобы подтвердить удаление выбранной версии пакета.

  7. Щелкните "Я понимаю последствия", удалите эту версию.

Удаление всего пакета

Удаление целого пакета с репозиторием на GitHub

Чтобы удалить весь пакет с областью репозитория, необходимо иметь разрешения администратора для репозитория, которому принадлежит пакет. Дополнительные сведения см. в разделе Требуемые разрешения.

  1. На GitHubперейдите на главную страницу репозитория.

  2. В правой боковой панели репозитория щелкните " Пакеты".

    Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" описывается оранжевым цветом.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  5. В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".

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

Удаление целого пользовательского пакета на GitHub

Сведения о том, кто может удалить пакет, см. в разделе "Необходимые разрешения".

  1. В GitHub перейдите на главную страницу личной учетной записи.

  2. В правом верхнем углу GitHubщелкните рисунок профиля, а затем щелкните профиль.

    Снимок экрана: раскрывающееся меню в @octocatразделе "Изображение профиля". "Ваш профиль" очертается в темно-оранжевый цвет.

  3. На странице профиля в заголовке щелкните вкладку "Пакеты" Packages .

  4. Найдите и выберите имя пакета, который требуется управлять.

  5. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  6. В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".

  7. В поле подтверждения введите имя пакета, чтобы подтвердить его удаление.

  8. Щелкните "Я понимаю последствия", удалите этот пакет.

Удаление целого пакета с организационным охватом на GitHub

Сведения о том, кто может удалить пакет, см. в разделе "Необходимые разрешения".

  1. В GitHub перейдите на главную страницу вашей организации.

  2. Под именем организации щелкните вкладку "Пакет" aria-hidden="true" aria-label="package" %} "Package ".

    @octo-orgСнимок экрана: страница профиля. Вкладка "Пакеты" выделена оранжевым контуром.

  3. Найдите и выберите имя пакета, который требуется управлять.

  4. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  5. В нижней части страницы в разделе "Зона опасности" нажмите кнопку "Удалить этот пакет".

  6. В поле подтверждения введите имя пакета, чтобы подтвердить его удаление.

  7. Щелкните "Я понимаю последствия", удалите этот пакет.

Восстановление пакетов

Удаленный пакет или версию пакета можно восстановить, если:

  • восстановление пакета выполняется в течение 30 дней после его удаления;
  • пространство имен пакета и версии по-прежнему доступно и не используется для нового пакета.

Например, если вы являетесь пользователем octocatи у вас есть удаленный пакет RubyGems с именем, который my-package был ограничен репозиторием octocat/my-repo, вы можете восстановить пакет только в том случае, если пространство rubygem.pkg.github.com/octocat/my-repo/my-package имен пакета по-прежнему доступно, и 30 дней еще не прошли.

Чтобы восстановить удалённый пакет, необходимо также соответствовать одному из следующих требований по разрешению:

  • Для пакетов с областью репозитория: у вас есть разрешения администратора для репозитория, в котором публикуется удаленный пакет.
  • Для пакетов с областью действия учетной записи пользователя: удаленный пакет распространяется на личная учетная запись.
  • Для пакетов с областью организации: у вас есть разрешения администратора на удаленный пакет в организации, в которой находится пакет.

Дополнительные сведения см. в разделе Требуемые разрешения.

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

Восстановление пакета в организации

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

Сведения о том, кто может восстановить пакет в организации, см. в разделе "Необходимые разрешения".

  1. На GitHubперейдите на главную страницу организации.

  2. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  3. В левой части окна щелкните Пакеты.

  4. В разделе "Удаленные пакеты" нажмите кнопку Восстановить рядом с пакетом, который требуется восстановить.

  5. Чтобы подтвердить, введите имя пакета и выберите Я понимаю последствия, восстановить этот пакет.

Восстановление пакета с областью учетной записи пользователя

Вы можете восстановить удаленный пакет с помощью параметров вашей личной учетной записи, если пакет был в одном из ваших репозиториев или был ограничен областью вашей личной учетной записи. Дополнительные сведения см. в разделе Требуемые разрешения.

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

Восстановление версии пакета

Версию пакета можно восстановить на целевой странице пакета. Сведения о том, кто может восстановить пакет, см. в разделе "Необходимые разрешения".

  1. Перейдите на целевую страницу пакета.

  2. Найдите и выберите имя пакета, который требуется управлять.

  3. На целевой странице пакета справа щелкните Параметры пакета.

    Снимок экрана: целевая страница пакета. В правом нижнем углу выделено значение "Параметры пакета" с оранжевым контуром.

  4. В списке "Последние версии" пакетов щелкните "Просмотреть и управлять всеми версиями".

    Снимок экрана: раздел "Последние версии" пакета. В нижней области ссылка "Просмотр и управление всеми версиями" выделена оранжевым контуром.

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

    Снимок экрана: список версий пакета. Выбор "Удалено" в представлении версий выделен оранжевым контуром.

  6. Рядом с удаленной версией пакета, которую требуется восстановить, нажмите кнопку Восстановить.

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