AskCleanAskClean

Como limpar o cache do Swift Package Manager com segurança

Equipe AskClean · Atualizado 2026-07-31

Use swift package clean para artefatos de build do pacote atual, reset para reiniciar todo o estado local desse pacote e swift package purge-cache somente para o cache global de repositórios. Preserve Package.swift e Package.resolved: eles definem as dependências e não são cache descartável.

Grafo de dependências Swift separado de camadas duplicadas de cache
Limpe primeiro os artefatos locais e purgue downloads compartilhados somente quando forem a causa.

O SwiftPM tem várias camadas

Um pacote de linha de comando guarda checkouts e produtos em .build, enquanto o SwiftPM mantém um cache de repositórios compartilhado. O Xcode pode manter produtos dos pacotes no DerivedData do projeto. Limpe a camada mais estreita que explique o problema.

Escolha o comando pelo alcance

swift package clean remove artefatos de build do pacote atual. reset é mais amplo e recria seu estado local. purge-cache afeta downloads compartilhados por vários projetos; a próxima resolução pode exigir rede e levar mais tempo.

  1. Salve as alterações e confirme Package.swift e Package.resolved.
  2. Execute swift package clean na raiz e compile novamente.
  3. Use swift package reset somente se o estado local continuar corrompido.
  4. Use swift package purge-cache somente se o cache compartilhado for o problema medido.
  5. Confira dependências e testes depois da limpeza.

Execute swift package --help; os subcomandos disponíveis dependem da versão do Swift instalada.

Preserve os arquivos de resolução

Package.resolved registra versões específicas. Apagá-lo pode selecionar versões diferentes e transformar limpeza em atualização. Package.swift, Sources, Tests, plugins e dependências locais são código-fonte; não os remova como cache.

Trate o Xcode separadamente

Para um problema só no Xcode, tente File > Packages > Reset Package Caches e Resolve Package Versions ou apague o DerivedData desse projeto. Meça diretórios .build antes de uma purga global. O AskClean localiza a categoria, mas os comandos Swift definem seu alcance.

Perguntas frequentes

O que swift package clean remove?

Os artefatos de build do pacote atual; a próxima compilação os recria.

reset e purge-cache são iguais?

Não. reset afeta o pacote atual; purge-cache remove o cache global de repositórios.

Devo apagar Package.resolved?

Não numa limpeza comum. Faça isso apenas quando quiser uma nova resolução de versões.

Fontes

Mais guias de armazenamento para desenvolvedores