Slik tømmer du Swift Package Manager-cachen trygt
AskClean-teamet · Oppdatert 2026-07-31
Bruk swift package clean for byggartefakter i gjeldende pakke, reset for å nullstille hele den lokale tilstanden og swift package purge-cache bare for den globale repositorycachen. Behold Package.swift og Package.resolved: de definerer avhengigheter og er ikke engangscache.

SwiftPM har flere lag
En kommandolinjepakke lagrer checkouts og produkter i .build, mens SwiftPM vedlikeholder en delt repositorycache. Xcode kan lagre pakkeprodukter i prosjektets DerivedData. Rydd det smaleste laget som forklarer problemet.
Velg kommando etter omfang
swift package clean fjerner byggartefakter for gjeldende pakke. reset går bredere og forbereder lokal tilstand på nytt. purge-cache påvirker nedlastinger som deles av flere prosjekter, så neste løsning kan kreve nettverk og mer tid.
- Lagre endringer, og kontroller Package.swift og Package.resolved.
- Kjør swift package clean i roten, og bygg på nytt.
- Bruk bare swift package reset hvis lokal tilstand fortsatt er skadet.
- Bruk bare swift package purge-cache ved bekreftet problem med delt cache.
- Kontroller avhengigheter og tester etter opprydding.
Kjør swift package --help; tilgjengelige underkommandoer avhenger av installert Swift-versjon.
Behold løsningsfiler
Package.resolved registrerer bestemte versjoner. Hvis den slettes, kan andre tillatte versjoner velges og en opprydding bli en oppdatering. Package.swift, Sources, Tests, programtillegg og lokale avhengigheter er kildefiler, ikke cache.
Håndter Xcode separat
Ved et problem bare i Xcode kan du prøve File > Packages > Reset Package Caches og Resolve Package Versions eller slette prosjektets DerivedData. Mål .build-mapper før global purge. AskClean finner kategorien, men Swift-kommandoene bestemmer omfanget.
Vanlige spørsmål
Hva sletter swift package clean?
Byggartefakter i gjeldende pakke; neste bygg lager dem på nytt.
Er reset og purge-cache det samme?
Nei. reset gjelder gjeldende pakke, purge-cache den globale repositorycachen.
Skal Package.resolved slettes?
Ikke ved vanlig opprydding. Gjør det bare ved en bevisst ny versjonsløsning.
Kilder