Skip to main content

Excluir e restaurar um pacote

Saiba como excluir ou restaurar um pacote.

Quem pode usar esse recurso?

O GitHub Packages está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub Enterprise Server 3.0 ou superior.
O GitHub Packages não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. Além disso, as contas que usam planos herdados por repositório não podem acessar registros que oferecem suporte a permissões granulares, pois essas contas são cobradas por repositório. Para obter a lista de registros que oferecem suporte a permissões granulares, confira “Sobre permissões para o GitHub Packages”. Para mais informações, confira "Planos do GitHub".

Exclusão de pacote e suporte de restauração em GitHub

Em GitHub se você tiver o acesso necessário, você poderá excluir:

  • um pacote privado inteiro
  • um pacote público inteiro, se não houver mais de 5.000 downloads de qualquer versão do pacote
  • uma versão específica de um pacote privado
  • uma versão específica de um pacote público, se a versão do pacote não tiver mais de 5.000 downloads

Note

  • Você não pode excluir um pacote público se uma versão do pacote tiver mais de 5,000 downloads. Nesse cenário, entre em contato conosco por meio do Portal de Suporte do GitHub para obter mais assistência.
  • Ao excluir pacotes públicos, esteja ciente de que você pode quebrar projetos que dependem do seu pacote.

Em GitHub, você também pode restaurar um pacote inteiro ou uma versão do pacote, se:

  • Você restaurar o pacote dentro de 30 dias após a exclusão.
  • O mesmo namespace do pacote ainda estiver disponível e não for usado para um novo pacote.

Suporte de API de pacotes

Note

O GitHub Packages dá suporte apenas à autenticação que usa um personal access token (classic). Para obter mais informações, confira "Gerenciar seus tokens de acesso pessoal".

Você pode usar a API REST para gerenciar seus pacotes. Para obter mais informações, confira Pontos de extremidade de API REST para pacotes.

Note

A capacidade dos fluxos de trabalho do GitHub Actions de excluir e restaurar pacotes usando a API REST está em versão prévia pública e está sujeita a alterações.

Com registros compatíveis com permissões granulares, você pode usar um GITHUB_TOKEN em um fluxo de trabalho do GitHub Actions para excluir ou restaurar pacotes usando a API REST. O token precisam ter permissão admin para o pacote. Se o fluxo de trabalho publicar um pacote, a função admin será concedida por padrão ao repositório em que o fluxo de trabalho é armazenado. Para pacotes existentes não publicados por um fluxo de trabalho, você precisa conceder ao repositório a função admin para poder usar um fluxo de trabalho do GitHub Actions para excluir ou restaurar pacotes usando a API REST. Para saber mais, confira Configurando o controle de acesso e visibilidade de um pacote.

Para certos registros, você pode usar GraphQL para excluir uma versão de um pacote privado.

Você não pode usar a API do GraphQL GitHub Packages com registros que dão suporte a permissões granulares. Para os registros que dão suporte apenas a permissões no escopo do repositório e podem ser usados com a API do GraphQL, confira "Sobre permissões para o GitHub Packages".

Permissões necessárias para excluir ou restaurar um pacote

Com registros que oferecem suporte a permissões granulares, você pode optar por permitir que os pacotes tenham como escopo um usuário ou uma organização ou sejam vinculados a um repositório.

Para excluir um pacote com permissões granulares separadas de um repositório, como imagens de contêiner armazenadas emhttps://ghcr.io/NAMESPACE/PACKAGE-NAME ou pacotes armazenados em https://npm.pkg.github.com/NAMESPACE/PACKAGE-NAME (em que NAMESPACE é o nome da conta pessoal ou organização a qual o pacote tem escopo definido), você deverá ter acesso de administrador ao pacote. Para saber mais, confira Sobre permissões para o GitHub Packages.

Para pacotes que herdam as permissões de acesso dos repositórios, é possível excluir um pacote se você tiver permissões de administrador para o repositório.

Alguns registros dão suporte a pacotes com escopo de repositório. Para obter uma lista desses registros, confira Sobre permissões para o GitHub Packages.

Excluir a versão de um pacote

Excluir uma versão de um pacote com escopo de repositório em GitHub

Para excluir uma versão de um pacote com escopo de repositório, você deve ter permissões de administrador no repositório em que o pacote está publicado. Para obter mais informações, consulte Permissões necessárias.

  1. Em GitHub, acesse a página principal do repositório.

  2. Na barra lateral direita do repositório, clique em Pacotes.

    Captura de tela da barra lateral da página do repositório. A seção "Pacotes" é contornada em laranja escuro.

  3. Procure e clique no nome do pacote que deseja gerenciar.

  4. Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.

    Captura de tela da seção "Versões Recentes" de um pacote. Abaixo, o link "Exibir e gerenciar todas as versões" é realçado com um contorno laranja.

  5. Na lista de pacotes, localize a versão do pacote que deseja excluir.

    • Se o pacote for um contêiner, à direita da versão do pacote, clique em e selecione Excluir versão no menu suspenso.
      Captura de tela de uma versão do pacote com um botão de menu suspenso, rotulado com um ícone de kebab. O link "Excluir versão" no menu é realçado com um contorno laranja.
    • Para tipos de pacotes diferentes de contêineres, à direita da versão do pacote, clique em Excluir.
      Captura de tela de uma versão do pacote com um botão "Excluir". O botão é realçado com um contorno laranja.
  6. Para confirmar a exclusão, digite o nome do pacote e clique em Eu entendo as consequências, exclua esta versão.

Excluir uma versão de um pacote com escopo do repositório com o GraphQL

Para certos registros, você pode usar GraphQL para excluir uma versão de um pacote privado.

Você não pode usar a API do GraphQL GitHub Packages com registros que dão suporte a permissões granulares. Para os registros que dão suporte apenas a permissões no escopo do repositório e podem ser usados com a API do GraphQL, confira "Sobre permissões para o GitHub Packages". Para saber como usar a API REST como alternativa, confira Pontos de extremidade de API REST para pacotes.

Use a mutação deletePackageVersion na API do GraphQL. Você deve usar um personal access token (classic) com os escopos read:packages, delete:packages e repo. Para obter mais informações sobre personal access tokens (classic), confira Introdução ao GitHub Packages.

O exemplo a seguir demonstra como excluir uma versão do pacote usando um packageVersionId de 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

Para encontrar todos os pacotes privados que você publicou em GitHub Packages, junto com os IDs de versão dos pacotes, você pode usar a conexão dos packages através do objeto repository. Você precisará de um personal access token (classic) com os escopos read:packages e repo. Para obter mais informações, confira a conexão dos packages ou da interface do PackageOwner.

Para obter mais informações sobre a mutação deletePackageVersion, confira Mutações.

Você não pode excluir diretamente um pacote inteiro usando o GraphQL, mas se você excluir todas as versões de um pacote, o pacote não será mostrado em GitHub.

Excluindo uma versão de pacote com escopo do usuário em GitHub

Para excluir uma versão específica de um pacote com escopo de usuário em GitHub, como para uma imagem Docker em ghcr.io, siga estas etapas. Para excluir um pacote inteiro, confira Como excluir um pacote com escopo do usuário inteiro em GitHub.

Para revisar quem pode excluir uma versão de pacote, confira Permissões necessárias.

  1. No GitHub, acesse a página principal da sua conta pessoal.

  2. No canto superior direito do GitHub, selecione sua foto de perfil e selecione Seu perfil.

    Captura de tela do menu suspenso na imagem de perfil de @octocat. "Seu perfil" está contornado em laranja escuro.

  3. Na página do perfil, no cabeçalho, clique na guia Pacotes .

  4. Procure e clique no nome do pacote que deseja gerenciar.

  5. Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.

    Captura de tela da página de aterrissagem de um pacote. No canto inferior direito, a opção "Configurações do pacote" é realçada com um contorno laranja.

  6. Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.

    Captura de tela da seção "Versões Recentes" de um pacote. Abaixo, o link "Exibir e gerenciar todas as versões" é realçado com um contorno laranja.

  7. Na lista de pacotes, localize a versão do pacote que deseja excluir.

    • Se o pacote for um contêiner, à direita da versão do pacote, clique em e selecione Excluir versão no menu suspenso.
      Captura de tela de uma versão do pacote com um botão de menu suspenso, rotulado com um ícone de kebab. O link "Excluir versão" no menu é realçado com um contorno laranja.
    • Para tipos de pacotes diferentes de contêineres, à direita da versão do pacote, clique em Excluir.
      Captura de tela de uma versão do pacote com um botão "Excluir". O botão é realçado com um contorno laranja.
  8. Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluir a versão escolhida dele.

  9. Clique em Entendi as consequências. Excluir esta versão.

Excluindo a versão de um pacote com escopo da organização em GitHub

Para excluir uma versão específica de um pacote com escopo de organização em GitHub, como para uma imagem Docker em ghcr.io, siga estas etapas. Para excluir um pacote inteiro, confira Como excluir um pacote com escopo da organização inteiro em GitHub.

Para revisar quem pode excluir uma versão de pacote, confira Permissões necessárias para excluir ou restaurar um pacote.

  1. Em GitHub, acesse a página principal da sua organização.

  2. No nome da sua organização, clique na guia Pacotes.

    Captura de tela da página de perfil de @octo-org. A guia "Pacotes " é realçada com um contorno laranja.

  3. Procure e clique no nome do pacote que deseja gerenciar.

  4. Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.

    Captura de tela da página de aterrissagem de um pacote. No canto inferior direito, a opção "Configurações do pacote" é realçada com um contorno laranja.

  5. Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.

    Captura de tela da seção "Versões Recentes" de um pacote. Abaixo, o link "Exibir e gerenciar todas as versões" é realçado com um contorno laranja.

  6. Na lista de pacotes, localize a versão do pacote que deseja excluir.

    • Se o pacote for um contêiner, à direita da versão do pacote, clique em e selecione Excluir versão no menu suspenso.
      Captura de tela de uma versão do pacote com um botão de menu suspenso, rotulado com um ícone de kebab. O link "Excluir versão" no menu é realçado com um contorno laranja.
    • Para tipos de pacotes diferentes de contêineres, à direita da versão do pacote, clique em Excluir.
      Captura de tela de uma versão do pacote com um botão "Excluir". O botão é realçado com um contorno laranja.
  7. Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluir a versão escolhida dele.

  8. Clique em Entendi as consequências. Excluir esta versão.

Excluindo um pacote inteiro

Excluindo um pacote com escopo de repositório completo em GitHub

Para excluir todo um pacote com escopo do repositório, você deve ter permissões de administrador no repositório que possui o pacote. Para obter mais informações, consulte Permissões necessárias.

  1. Em GitHub, acesse a página principal do repositório.

  2. Na barra lateral direita do repositório, clique em Pacotes.

    Captura de tela da barra lateral da página do repositório. A seção "Pacotes" é contornada em laranja escuro.

  3. Procure e clique no nome do pacote que deseja gerenciar.

  4. Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.

    Captura de tela da página de aterrissagem de um pacote. No canto inferior direito, a opção "Configurações do pacote" é realçada com um contorno laranja.

  5. Na parte inferior da página, em "Zona de perigo", clique em Excluir este pacote.

  6. Para confirmar, leia a mensagem de confirmação, insira o nome do pacote e clique em Entendi. Excluir este pacote.

Excluir um pacote inteiro com escopo do usuário em GitHub

Para revisar quem pode excluir um pacote, confira Permissões necessárias.

  1. No GitHub, acesse a página principal da sua conta pessoal.

  2. No canto superior direito do GitHub, selecione sua foto de perfil e selecione Seu perfil.

    Captura de tela do menu suspenso na imagem de perfil de @octocat. "Seu perfil" está contornado em laranja escuro.

  3. Na página do perfil, no cabeçalho, clique na guia Pacotes .

  4. Procure e clique no nome do pacote que deseja gerenciar.

  5. Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.

    Captura de tela da página de aterrissagem de um pacote. No canto inferior direito, a opção "Configurações do pacote" é realçada com um contorno laranja.

  6. Na parte inferior da página, em "Zona de perigo", clique em Excluir este pacote.

  7. Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluí-lo.

  8. Clique em Entendi as consequências. Excluir este pacote.

Excluir um pacote inteiro com escopo da organização em GitHub

Para revisar quem pode excluir um pacote, confira Permissões necessárias.

  1. Em GitHub, acesse a página principal da sua organização.

  2. No nome da sua organização, clique na guia Pacotes.

    Captura de tela da página de perfil de @octo-org. A guia "Pacotes " é realçada com um contorno laranja.

  3. Procure e clique no nome do pacote que deseja gerenciar.

  4. Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.

    Captura de tela da página de aterrissagem de um pacote. No canto inferior direito, a opção "Configurações do pacote" é realçada com um contorno laranja.

  5. Na parte inferior da página, em "Zona de perigo", clique em Excluir este pacote.

  6. Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluí-lo.

  7. Clique em Entendi as consequências. Excluir este pacote.

Restaurando pacotes

Você pode restaurar um pacote ou versão excluído, se:

  • Você restaurar o pacote dentro de 30 dias após a exclusão.
  • O mesmo namespace e versão do pacote ainda estiverem disponíveis e não forem reutilizados para um novo pacote.

Por exemplo, se você for o usuário octocat e tiver um pacote RubyGems excluído chamado my-package com escopo no repositório octocat/my-repo, só será possível restaurar o pacote se o namespace do pacote rubygem.pkg.github.com/octocat/my-repo/my-package ainda estiver disponível e não houver transcorrido 30 dias.

Para restaurar um pacote excluído, você também deve atender a um destes requisitos de permissão:

  • Para pacotes com escopo de repositório: você tem permissões de administrador no repositório no qual o pacote excluído foi publicado.
  • Para pacotes com escopo de conta de usuário: o pacote excluído tem escopo definido para sua conta pessoal.
  • Para pacotes com escopo da organização: você tem permissões de administrador para o pacote excluído na organização a qual o pacote tem escopo definido.

Para obter mais informações, consulte Permissões necessárias.

Uma vez restaurado o pacote, este usará o mesmo namespace de antes. Se o mesmo namespace não estiver disponível, você não poderá restaurar seu pacote. Neste cenário, para restaurar o pacote excluído, você deverá excluir o novo pacote que usa o namespace do pacote excluído primeiro.

Restaurando um pacote de uma organização

Você pode restaurar um pacote excluído por meio das configurações da conta da organização, desde que o pacote esteja em um repositório de propriedade da organização ou tenha permissões granulares e escopo para a conta da organização.

Para revisar quem pode restaurar um pacote em uma organização, confira Permissões necessárias.

  1. Em GitHub, acesse a página principal da organização.

  2. No nome da sua organização, clique Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela das guias no perfil de uma organização. A guia "Configurações" está contornada em laranja escuro.

  3. À esquerda, clique em Pacotes.

  4. Em "Pacotes excluídos", ao lado do pacote que você deseja restaurar, clique em Restaurar.

  5. Para confirmar, digite o nome do pacote e clique em Eu entendo as consequências, restaure este pacote.

Restaurar um pacote com escopo de conta de usuário

Você pode restaurar um pacote excluído por meio das configurações da sua conta pessoal, se o pacote estiver em um de seus repositórios ou escopo para sua conta pessoal. Para obter mais informações, consulte Permissões necessárias.

  1. No canto superior direito de qualquer página do GitHub, clique sua foto de perfil e, em seguida, clique em Configurações.
  2. Na barra lateral esquerda, clique em Pacotes.
  3. Em "Pacotes excluídos", ao lado do pacote que você deseja restaurar, clique em Restaurar.
  4. Para confirmar, digite o nome do pacote e clique em Eu entendo as consequências, restaure este pacote.

Restaurar uma versão do pacote

Você pode restaurar a versão de um pacote na página de aterrissagem do pacote. Para revisar quem pode restaurar um pacote, confira Permissões necessárias.

  1. Acesse a página inicial do seu pacote.

  2. Procure e clique no nome do pacote que deseja gerenciar.

  3. Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.

    Captura de tela da página de aterrissagem de um pacote. No canto inferior direito, a opção "Configurações do pacote" é realçada com um contorno laranja.

  4. Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.

    Captura de tela da seção "Versões Recentes" de um pacote. Abaixo, o link "Exibir e gerenciar todas as versões" é realçado com um contorno laranja.

  5. No canto superior direito da lista de versões do pacote, use a lista suspensa Selecionar exibição das versões e selecione Excluído.

    Captura de tela de uma lista de versões do pacote. A seleção "Excluído" na exibição de versões é realçada com um contorno laranja.

  6. Ao lado da versão do pacote excluído que deseja restaurar, clique em Restaurar.

  7. Para confirmar, clique em Entendo as consequências. Restaurar esta versão.