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 só 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.
-
Em GitHub, acesse a página principal do repositório.
-
Na barra lateral direita do repositório, clique em Pacotes.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.
-
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.
- Para tipos de pacotes diferentes de contêineres, à direita da versão do pacote, clique em Excluir.
-
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 Enterprise Cloud.
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.
-
No GitHub, acesse a página principal da sua conta pessoal.
-
No canto superior direito do GitHub, selecione sua foto de perfil e selecione Seu perfil.
-
Na página do perfil, no cabeçalho, clique na guia Pacotes .
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.
-
Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.
-
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.
- Para tipos de pacotes diferentes de contêineres, à direita da versão do pacote, clique em Excluir.
-
Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluir a versão escolhida dele.
-
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.
-
Em GitHub, acesse a página principal da sua organização.
-
No nome da sua organização, clique na guia Pacotes.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.
-
Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.
-
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.
- Para tipos de pacotes diferentes de contêineres, à direita da versão do pacote, clique em Excluir.
-
Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluir a versão escolhida dele.
-
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.
-
Em GitHub, acesse a página principal do repositório.
-
Na barra lateral direita do repositório, clique em Pacotes.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.
-
Na parte inferior da página, em "Zona de perigo", clique em Excluir este pacote.
-
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.
-
No GitHub, acesse a página principal da sua conta pessoal.
-
No canto superior direito do GitHub, selecione sua foto de perfil e selecione Seu perfil.
-
Na página do perfil, no cabeçalho, clique na guia Pacotes .
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.
-
Na parte inferior da página, em "Zona de perigo", clique em Excluir este pacote.
-
Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluí-lo.
-
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.
-
Em GitHub, acesse a página principal da sua organização.
-
No nome da sua organização, clique na guia Pacotes.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.
-
Na parte inferior da página, em "Zona de perigo", clique em Excluir este pacote.
-
Na caixa de confirmação, digite o nome do pacote para confirmar que deseja excluí-lo.
-
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.
-
Em GitHub, acesse a página principal da organização.
-
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.
-
À esquerda, clique em Pacotes.
-
Em "Pacotes excluídos", ao lado do pacote que você deseja restaurar, clique em Restaurar.
-
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.
- No canto superior direito de qualquer página do GitHub, clique sua foto de perfil e, em seguida, clique em Configurações.
- Na barra lateral esquerda, clique em Pacotes.
- Em "Pacotes excluídos", ao lado do pacote que você deseja restaurar, clique em Restaurar.
- 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.
-
Acesse a página inicial do seu pacote.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Na página de aterrissagem do pacote, no lado direito, clique em Configurações do pacote.
-
Na lista "Versões Recentes" de pacotes, clique em Exibir e gerenciar todas as versões.
-
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.
-
Ao lado da versão do pacote excluído que deseja restaurar, clique em Restaurar.
-
Para confirmar, clique em Entendo as consequências. Restaurar esta versão.