AskCleanAskClean

Como limpar o cache do npm no Mac com segurança

Equipe AskClean · Atualizado 2026-08-05

Localize o cache ativo com npm config get cache, meça exatamente esse caminho e execute npm cache verify antes de apagar qualquer coisa. Use npm cache clean --force somente se precisar do espaço e aceitar downloads futuros. node_modules, package.json e o lockfile não são cache e devem permanecer intactos.

Pacotes percorrem um cache circular protegido por um escudo de verificação, com itens descartados numa caixa de reciclagem e arquivos do projeto separados
Verifique os downloads reutilizáveis do npm antes da limpeza e mantenha-os separados dos arquivos do projeto e de node_modules.

Separe cache, dependências instaladas e projeto

O cache do npm guarda downloads reutilizáveis para vários projetos e costuma ficar em ~/.npm no macOS, embora possa ser configurado em outro local. node_modules é a árvore instalada de um projeto. package.json e package-lock.json registram o estado do projeto; não são cache. npm-shrinkwrap.json também não é cache, mas o npm v12 não lê nem grava esse arquivo. Se ele for o único lockfile de um projeto legado, renomeie-o para package-lock.json, de formato idêntico, antes da reinstalação; nunca sobrescreva um package-lock.json existente.

Meça o cache ativo e verifique-o primeiro

Não presuma que um ~/.npm existente seja o cache ativo. npm config get cache mostra o caminho usado pela configuração atual; meça-o com du e anote o espaço livre. npm cache verify verifica o índice e os dados, valida a integridade e remove conteúdo desnecessário sem descartar todos os downloads válidos. Para manutenção normal ou um erro de instalação alheio ao cache, essa verificação costuma bastar.

  1. Execute npm --version e npm config get cache; confirme que o caminho retornado é um cache, não uma pasta de projeto.
  2. Meça esse caminho exato com du -sh e anote o espaço livre do macOS, sem alterar package.json nem os lockfiles.
  3. Encerre processos npm install, npm ci, npm exec e de publicação; execute npm cache verify e preserve o resumo e os erros.
  4. Execute npm cache clean --force somente se a verificação não bastar, a economia de espaço for relevante e todos os artefatos necessários continuarem acessíveis.
  5. Execute novamente npm cache verify, meça o mesmo caminho e teste um projeto representativo com lockfile, build e testes inalterados.

Nunca passe um caminho não verificado para rm -rf. Também não combine a limpeza do cache com apagar ou regenerar um lockfile: você mudaria duas variáveis de uma vez e perderia a comparação necessária para diagnosticar o problema.

Use npm cache clean --force de forma intencional

Execute npm cache clean --force somente quando o cache medido for relevante, você precisar do espaço agora e puder baixar os artefatos outra vez. O comando limpa o cache configurado, não node_modules nem os lockfiles. Depois, npm install e npm ci podem demorar mais ou falhar sem conexão; registries privados, servidores Git, proxies e pacotes que deixaram de estar disponíveis elevam o custo de recuperação. Não defina force como configuração permanente do npm.

Valide o resultado sem mudar as dependências

Depois da limpeza, consulte novamente o caminho, meça o mesmo local e compare o espaço livre real do macOS. Teste um projeto representativo com package.json e o lockfile inalterados, além de seu build e seus testes. Se o erro original voltar, não repita a exclusão: ERESOLVE, credenciais, 404, proxies, certificados, engines do Node.js, builds nativos e scripts de ciclo de vida exigem outro diagnóstico. O AskClean reconhece ~/.npm por padrão; confirme caminhos personalizados com npm.

Limites de exclusão e custo de recuperação

Encontre e meça o cache de downloads que o npm realmente usa, verifique-o primeiro e limpe-o somente quando houver motivo, sem tocar em node_modules nem nos arquivos do projeto.

Item ou açãoOnde verificarConsequência
Separe cache, dependências instaladas e projetonpm config get cacheO cache do npm guarda downloads reutilizáveis para vários projetos e costuma ficar em ~/.npm no macOS, embora possa ser configurado em outro local. node_modules é a árvore instalada de um projeto. package.json e package-lock.json registram o estado do projeto; não são cache. npm-shrinkwrap.json também não é cache, mas o npm v12 não lê nem grava esse arquivo. Se ele for o único lockfile de um projeto legado, renomeie-o para package-lock.json, de formato idêntico, antes da reinstalação; nunca sobrescreva um package-lock.json existente.
Meça o cache ativo e verifique-o primeironpm cache verifyNão presuma que um ~/.npm existente seja o cache ativo. npm config get cache mostra o caminho usado pela configuração atual; meça-o com du e anote o espaço livre. npm cache verify verifica o índice e os dados, valida a integridade e remove conteúdo desnecessário sem descartar todos os downloads válidos. Para manutenção normal ou um erro de instalação alheio ao cache, essa verificação costuma bastar.
Use npm cache clean --force de forma intencionalnpm cache clean --forceExecute npm cache clean --force somente quando o cache medido for relevante, você precisar do espaço agora e puder baixar os artefatos outra vez. O comando limpa o cache configurado, não node_modules nem os lockfiles. Depois, npm install e npm ci podem demorar mais ou falhar sem conexão; registries privados, servidores Git, proxies e pacotes que deixaram de estar disponíveis elevam o custo de recuperação. Não defina force como configuração permanente do npm.
Valide o resultado sem mudar as dependênciasinstalação + verificação offline/registry privadoDepois da limpeza, consulte novamente o caminho, meça o mesmo local e compare o espaço livre real do macOS. Teste um projeto representativo com package.json e o lockfile inalterados, além de seu build e seus testes. Se o erro original voltar, não repita a exclusão: ERESOLVE, credenciais, 404, proxies, certificados, engines do Node.js, builds nativos e scripts de ciclo de vida exigem outro diagnóstico. O AskClean reconhece ~/.npm por padrão; confirme caminhos personalizados com npm.

Perguntas frequentes

É seguro executar npm cache clean --force no Mac?

O comando não toca no código-fonte nem nos arquivos do projeto se o npm apontar para o cache correto, mas descarta downloads reutilizáveis. Meça e verifique primeiro, encerre os processos ativos e conte com a necessidade de rede nas próximas instalações.

Devo executar npm cache verify ou npm cache clean primeiro?

Primeiro, npm cache verify. Ele verifica a integridade e remove dados desnecessários mantendo o conteúdo válido; clean --force fica reservado a uma necessidade de espaço medida ou a um problema específico de cache confirmado.

Limpar o cache do npm apaga package-lock.json?

Não. package.json e package-lock.json são arquivos do projeto. O npm v12 ignora npm-shrinkwrap.json; se esse for o único lockfile de um projeto legado, renomeie-o para package-lock.json, sem sobrescrever um arquivo existente nem alterar a resolução durante a limpeza do cache.

Fontes

Mais guias de armazenamento para desenvolvedores