Cómo vaciar la caché de Swift Package Manager sin riesgo
Equipo de AskClean · Actualizado 2026-07-31
Usa swift package clean para los artefactos de una build local, reset para reiniciar el estado completo del paquete y swift package purge-cache solo para la caché global de repositorios. Conserva Package.swift y Package.resolved: definen dependencias y no son caché desechable.

SwiftPM tiene varias capas
Un paquete de línea de comandos guarda checkouts y productos en .build, mientras SwiftPM mantiene una caché de repositorios compartida. Xcode puede guardar productos de paquetes dentro del DerivedData del proyecto. Limpia la capa más estrecha que explique el fallo.
Elige el comando por su alcance
swift package clean elimina artefactos de compilación del paquete actual. reset es más amplio y reconstruye su estado local. purge-cache afecta a descargas compartidas por múltiples proyectos, por lo que la próxima resolución puede necesitar red y tardar más.
- Guarda los cambios y confirma Package.swift y Package.resolved.
- Ejecuta swift package clean desde la raíz y vuelve a compilar.
- Usa swift package reset solo si el estado local sigue dañado.
- Usa swift package purge-cache solo si la caché compartida es el problema medido.
- Comprueba dependencias y tests después de la limpieza.
Ejecuta swift package --help: la disponibilidad de subcomandos depende de la versión de Swift instalada.
Conserva los archivos de resolución
Package.resolved registra versiones concretas. Borrarlo puede seleccionar otras versiones permitidas y convertir una limpieza en actualización. Package.swift, Sources, Tests, plugins y dependencias locales son código fuente: no los elimines como caché.
Trata Xcode por separado
Para un problema visible solo en Xcode, prueba File > Packages > Reset Package Caches y Resolve Package Versions, o elimina el DerivedData de ese proyecto. Mide los directorios .build antes de purgar globalmente. AskClean ayuda a encontrar la categoría, pero las órdenes Swift siguen definiendo el alcance.
Preguntas frecuentes
¿Qué elimina swift package clean?
Los artefactos de compilación del paquete actual; la próxima build los vuelve a crear.
¿reset y purge-cache son iguales?
No. reset afecta al paquete actual; purge-cache borra la caché global de repositorios.
¿Debo borrar Package.resolved?
No para una limpieza normal. Hazlo solo si deseas deliberadamente una nueva resolución de versiones.
Fuentes