Soporte para borrado y restablecimiento de paquetes en GitHub
En GitHub, si tienes el acceso necesario, puedes borrar:
- todo un paquete privado
- todo un paquete público, si es que no hay más de 5000 descargas de ninguna versión de este
- una versión específica de un paquete privado
- una versión específica de un paquete público, si la versión del paquete no tiene más de 5000 descargas
Note
- No puedes eliminar un paquete público específico si alguna versión del paquete tiene más de 5000 descargas. Ante esta situación, ponte en contacto con nosotros mediante el Portal de soporte de GitHub para obtener más ayuda.
- Cuando borres paquetes públicos, toma en cuenta que podrías dañar proyetos que dependen de ellos.
En GitHub, también puedes restablecer un paquete completo o una versión de paquete si:
- Restableces el paquete dentro de los primeros 30 días después de que se borró.
- El espacio de nombre del paquete aún se encuentra disponible y no se ha utilizado en un paquete nuevo.
Soporte de la API de paquetes
GitHub Packages solo admite la autenticación mediante un personal access token (classic). Para obtener más información, vea «Administración de tokens de acceso personal».
Puedes utiliza la API de REST para administrar tus paquetes. Para obtener más información, consulta el "Puntos de conexión de API REST para paquetes".
Note
La capacidad de que los flujos de trabajo de GitHub Actions eliminen y restauren paquetes mediante la API de REST se encuentra actualmente en versión preliminar pública y está sujeta a cambios.
Con los registros que admiten permisos pormenorizados, puede usar GITHUB_TOKEN
en un flujo de trabajo de GitHub Actions para eliminar o restaurar paquetes mediante la API de REST. El token debe tener el permiso admin
para el paquete. Si el flujo de trabajo publica un paquete, el rol admin
se concede de forma predeterminada al repositorio donde se almacena el flujo de trabajo. Para los paquetes existentes no publicados por un flujo de trabajo, debes conceder al repositorio el rol admin
para poder usar un flujo de trabajo de GitHub Actions para eliminar o restaurar paquetes mediante la API de REST. Para obtener más información, vea «Configurar la visibilidad y el control de accesos de un paquete».
En determinados registros, se puede usar GraphQL para eliminar una versión de un paquete privado.
No se puede usar GraphQL API de GitHub Packages con registros que admiten permisos detallados. Para los registros que solo admiten permisos con ámbito de repositorio y que se pueden usar con GraphQL API, consulta "Acerca de los permisos para los Paquetes de GitHub".
Permisos necesarios para borrar o restablecer un paquete
Con los registros que admiten permisos detallados, puede optar por permitir que los paquetes tengan como ámbito un usuario u organización o bien que estén vinculados a un repositorio.
Para eliminar un paquete que tenga permisos granulares independientes de un repositorio, como imágenes de contenedor almacenadas en https://ghcr.io/NAMESPACE/PACKAGE-NAME
o paquetes almacenados en https://npm.pkg.github.com/NAMESPACE/PACKAGE-NAME
(donde NAMESPACE
es el nombre de la cuenta personal u organización a la que se designa un ámbito de paquete), debes tener acceso de administrador al paquete. Para obtener más información, vea «Acerca de los permisos para los Paquetes de GitHub».
En el caso de los paquetes que heredan sus permisos de acceso de los repositorios, puedes borrar un paquete si tienes permisos administrativos en el repositorio.
Algunos registros solo admiten paquetes con ámbito de repositorio. Para obtener una lista de estos registros, consulta "Acerca de los permisos para los Paquetes de GitHub".
Borrar la versión de un paquete
Borrar la versión de un paquete con alcance de repositorio en GitHub
Para eliminar una versión de un paquete con ámbito de repositorio, debe tener permisos de administrador en el repositorio en el que se publica el paquete. Para obtener más información, consulta "Permisos necesarios".
-
En GitHub, navegue hasta la página principal del repositorio.
-
En la barra lateral derecha del repositorio, haz clic en Paquetes.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la lista de paquetes "Versiones recientes", haz clic en Ver y administrar todas las versiones.
-
En la lista de paquetes, busca la versión del paquete que quieras eliminar.
- Si el paquete es un contenedor, a la derecha de la versión del paquete, haz clic en y selecciona Eliminar versión en el menú desplegable.
- Para los tipos de paquetes que no son contenedores, a la derecha de la versión del paquete, haz clic en Eliminar.
-
Para confirmar la eliminación, escribe el nombre del paquete y haz clic en Entiendo las consecuencias y quiero eliminar esta versión.
Borrar una versión de un paquete con alcance de repositorio con GraphQL
En determinados registros, se puede usar GraphQL para eliminar una versión de un paquete privado.
No se puede usar GraphQL API de GitHub Packages con registros que admiten permisos detallados. Para los registros que solo admiten permisos con ámbito de repositorio y que se pueden usar con GraphQL API, consulta "Acerca de los permisos para los Paquetes de GitHub". Para obtener información sobre cómo usar la API REST, consulta "Puntos de conexión de API REST para paquetes."
Usa la mutación deletePackageVersion
en GraphQL API. Debes usar un personal access token (classic) con los ámbitos read:packages
, delete:packages
y repo
. Para más información sobre personal access tokens (classic), consulta "Introducción a los paquetes de GitHub".
En el ejemplo siguiente se muestra cómo eliminar una versión de paquete mediante un elemento 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 los paquetes privados que has publicado en GitHub Packages, junto con los identificadores de versión de los paquetes, puedes usar la conexión packages
mediante el objeto repository
. Necesitarás un personal access token (classic) con los ámbitos read:packages
y repo
. Para obtener más información, consulta la conexión packages
o la interfaz PackageOwner
.
Para obtener más información sobre la mutación deletePackageVersion
, consulta "Mutaciones".
No puedes borrar directamente todo un paquete utilizando GraphQL, pero si borras cada versión de un paquete, este ya no se mostrará en GitHub Enterprise Cloud.
Borrar una versión de un paquete con alcance de usuario en GitHub
Para eliminar una versión específica de un paquete con ámbito de usuario en GitHub, como una imagen de Docker en ghcr.io
, sigue estos pasos. Para eliminar un paquete completo, consulta "Eliminación de un paquete de ámbito de usuario completo en GitHub."
Para revisar quién puede eliminar una versión del paquete, consulta "Permisos necesarios".
-
En GitHub, navega hasta la página principal de tu cuenta personal.
-
En la esquina superior derecha de GitHub, haga clic en su foto de perfil y luego en Your profile (Su perfil).
-
En la página del perfil, en el encabezado, haz clic en la pestaña Paquetes.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la página de aterrizaje del paquete, en el lado derecho, haz clic en Configuración del paquete.
-
En la lista de paquetes "Versiones recientes", haz clic en Ver y administrar todas las versiones.
-
En la lista de paquetes, busca la versión del paquete que quieras eliminar.
- Si el paquete es un contenedor, a la derecha de la versión del paquete, haz clic en y selecciona Eliminar versión en el menú desplegable.
- Para los tipos de paquetes que no son contenedores, a la derecha de la versión del paquete, haz clic en Eliminar.
-
En el cuadro de confirmación, escribe el nombre del paquete para confirmar que quieres eliminar la versión elegida del mismo.
-
Haz clic en Entiendo las consecuencias, eliminar esta versión.
Borrar una versión de un paquete con alcance de organización en GitHub
Para eliminar una versión específica de un paquete con ámbito de organización en GitHub, como una imagen de Docker en ghcr.io
, sigue estos pasos.
Para eliminar un paquete completo, consulta "Eliminación de un paquete de ámbito de organización completo en GitHub."
Para revisar quién puede elimninar una versión de paquete, consulta "Permisos necesarios para eliminar o restaurar un paquete."
-
En GitHub, navega a la página principal de tu organización.
-
En el nombre de la organización, haz clic en la pestaña Paquetes.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la página de aterrizaje del paquete, en el lado derecho, haz clic en Configuración del paquete.
-
En la lista de paquetes "Versiones recientes", haz clic en Ver y administrar todas las versiones.
-
En la lista de paquetes, busca la versión del paquete que quieras eliminar.
- Si el paquete es un contenedor, a la derecha de la versión del paquete, haz clic en y selecciona Eliminar versión en el menú desplegable.
- Para los tipos de paquetes que no son contenedores, a la derecha de la versión del paquete, haz clic en Eliminar.
-
En el cuadro de confirmación, escribe el nombre del paquete para confirmar que quieres eliminar la versión elegida del mismo.
-
Haz clic en Entiendo las consecuencias, eliminar esta versión.
Borrar un paquete completo
Borrar un paquete completo con alcance de repositorio en GitHub
Para borrar un paquete completo con alcance de repositorio, debes tener permisos administrativos en el repositorio al que pertenezca dicho paquete. Para obtener más información, consulta "Permisos necesarios".
-
En GitHub, navegue hasta la página principal del repositorio.
-
En la barra lateral derecha del repositorio, haz clic en Paquetes.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la página de aterrizaje del paquete, en el lado derecho, haz clic en Configuración del paquete.
-
En la parte inferior de la página, en "Zona de peligro", haz clic en Eliminar este paquete.
-
Para confirmar la acción, revisa el mensaje de confirmación, escribe el nombre del paquete y haz clic en Lo entiendo, eliminar este paquete.
Borrar un paquete completo con alcance de usuario en GitHub
Para revisar quién puede eliminar un paquete, consulta "Permisos necesarios".
-
En GitHub, navega hasta la página principal de tu cuenta personal.
-
En la esquina superior derecha de GitHub, haga clic en su foto de perfil y luego en Your profile (Su perfil).
-
En la página del perfil, en el encabezado, haz clic en la pestaña Paquetes.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la página de aterrizaje del paquete, en el lado derecho, haz clic en Configuración del paquete.
-
En la parte inferior de la página, en "Zona de peligro", haz clic en Eliminar este paquete.
-
En el cuadro de confirmación, escribe el nombre del paquete para confirmar que quieres eliminarlo.
-
Haz clic en Entiendo las consecuencias, eliminar este paquete.
Borrar un paquete completo con alcance de organización en GitHub
Para revisar quién puede eliminar un paquete, consulta "Permisos necesarios".
-
En GitHub, navega a la página principal de tu organización.
-
En el nombre de la organización, haz clic en la pestaña Paquetes.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la página de aterrizaje del paquete, en el lado derecho, haz clic en Configuración del paquete.
-
En la parte inferior de la página, en "Zona de peligro", haz clic en Eliminar este paquete.
-
En el cuadro de confirmación, escribe el nombre del paquete para confirmar que quieres eliminarlo.
-
Haz clic en Entiendo las consecuencias, eliminar este paquete.
Restablecer paquetes
Puedes restablecer un paquete o versión que hayas borrado si:
- Restableces el paquete dentro de los primeros 30 días después de que se borró.
- El mismo designador de nombre del paquete y su versión se encuentran disponibles y no se han reutilizado para un paquete nuevo.
Por ejemplo, si eres el usuario octocat
y tienes un paquete RubyGems eliminado denominado my-package
que tenía como á,bito el repositorio octocat/my-repo
, solo puedes restaurar el paquete si el espacio de nombres del paquete rubygem.pkg.github.com/octocat/my-repo/my-package
sigue disponible y aún no han transcurrido 30 días.
Para restaurar un paquete eliminado, también debes cumplir uno de estos requisitos de permisos:
- Para los paquetes con ámbito de repositorio: tienes permisos de administrador para el repositorio donde se publica el paquete eliminado.
- Para los paquetes con ámbito de cuenta de usuario: el paquete eliminado tiene como ámbito tu cuenta personal.
- Para los paquetes con ámbito de organización: tienes permisos de administrador para el paquete eliminado en la organización a la que se designa un ámbito de paquete.
Para obtener más información, consulta "Permisos necesarios".
Una vez que se restablezca el paquete, este utilizará el designador de nombre que ya tenía. Si ya no está disponible el mismo designador de nombre del paquete, no podrás restablecerlo. En este caso, para restablecer el paquete que se borró, primero deberás borrar el paquete nuevo que utiliza el designador de nombre del paquete que se borró.
Restablecer un paquete en una organización
Puede restablecer un paquete borrado a través de la configuración de cuenta de su organización, siempre y cuando el paquete estuviera en el repositorio que pertenece a la organización o tuviera permisos granulares y se le hubiera configurado un ámbito para su cuenta de organización.
Para revisar quién puede restaurar un paquete en una organización, consulta "Permisos necesarios".
-
En GitHub, navega a la página principal de tu organización.
-
En el nombre de la organización, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la izquierda, haga clic en Packages.
-
En "Paquetes eliminados", junto al paquete que quieres restaurar, haz clic en Restaurar.
-
Para confirmar, escribe el nombre del paquete y haz clic en Entiendo las consecuencias y quiero restaurar este paquete.
Restablecer un paquete con alcance de cuenta de usuario
Puedes restaurar un paquete que se haya eliminado mediante la configuración de tu cuenta de usuario, siempre y cuando haya estado en uno de tus repositorios o haya tenido como ámbito tu cuenta de usuario. Para obtener más información, consulta "Permisos necesarios".
- En la esquina superior derecha de cualquier página en GitHub, haga clic en la fotografía de perfil y luego en Configuración.
- En la barra lateral de la izquierda, haga clic en Packages.
- En "Paquetes eliminados", junto al paquete que quieres restaurar, haz clic en Restaurar.
- Para confirmar, escribe el nombre del paquete y haz clic en Entiendo las consecuencias y quiero restaurar este paquete.
Restauración de una versión del paquete
Puedes restablecer una versión de paquete desde la página de llegada del mismo. Para revisar quién puede restaurar un paquete, consulta "Permisos necesarios".
-
Navega a la página de llegada de tu paquete.
-
Busca y haz clic en el nombre del paquete que quieres administrar.
-
En la página de aterrizaje del paquete, en el lado derecho, haz clic en Configuración del paquete.
-
En la lista de paquetes "Versiones recientes", haz clic en Ver y administrar todas las versiones.
-
En la esquina superior derecha de la lista de versiones de paquete, usa la lista desplegable Seleccionar vista de versiones y selecciona Eliminadas.
-
Junto a la versión del paquete eliminado que quieres restaurar, haz clic en Restaurar.
-
Para confirmarlo, haz clic en Entiendo las consecuencias, restaurar esta versión.