Featured image of post pnpm Não Consegue Encontrar o Diretório Store? Como Alterar store-dir para Resolver Problemas de Drive Externo

pnpm Não Consegue Encontrar o Diretório Store? Como Alterar store-dir para Resolver Problemas de Drive Externo

Você já encontrou erros do pnpm dizendo que o diretório Store não pode ser encontrado? Se você configurou o pnpm store em um drive externo, este artigo ensina como corrigir rapidamente o caminho store-dir e reconstruir links de projetos.

Você já encontrou essa situação? Para economizar espaço no computador, você configurou o store do pnpm em um drive externo, mas um dia você não trouxe o drive, ou quis mudar o local de armazenamento, e o pnpm começou a lançar erros dizendo que não conseguia encontrar o diretório? Mesmo conectar o drive de volta parece estranho?

Isso está, na verdade, relacionado ao princípio de funcionamento único do pnpm. Hoje vamos falar sobre o mecanismo “Store” do pnpm e como resgatá-lo quando ele “perde a conexão”!

Como exatamente o pnpm economiza espaço?

Antes de começarmos a corrigir, vamos revisar rapidamente a mágica de economia de espaço do pnpm.

Diferente do npm, que copia um conjunto completo de pacotes em cada node_modules de projeto, o pnpm usa Content-addressable store (Armazenamento endereçável por conteúdo) e Hard Links (Links físicos).

A maneira como o pnpm funciona é que todos os arquivos de pacotes, na verdade, existem apenas em um “grande armazém” no seu computador, e o diretório do seu projeto apenas vincula a este armazém. Isso não apenas economiza espaço no disco rígido, mas também torna a instalação surpreendentemente rápida.

Item pnpm npm
Método de Armazenamento Global Store + Hard Links Cópia independente por projeto
Uso de Espaço Muito baixo (armazena apenas uma cópia por versão) Alto (cópias duplicadas)
Velocidade de Instalação Rápido (apenas criando links) Lento (precisa extrair e gravar)

Por que o drive externo causa erros no pnpm?

Quando você configura o pnpm store em um drive externo para economizar espaço no SSD local, surgem armadilhas em potencial:

Situação Descrição
Caminho Inválido Quando o drive não está conectado, o pnpm não consegue encontrar o store-dir configurado originalmente, e a instalação relatará um erro diretamente e sairá.
Falha de Hard Link Como os Hard Links não podem cruzar partições, se o seu projeto estiver no Drive A e o store estiver no Drive B, o pnpm é forçado a usar a cópia, o que perde a vantagem original e pode até causar erros de execução devido a caminhos de cache bagunçados.

Encontrando essa situação, precisamos “calibrar” manualmente.

Solução 1: Calibrar, Reconfigurar Caminho do Store

Se você decidir alterar o local do store, a maneira mais direta é dizer ao pnpm onde está o novo store. Você pode usar o seguinte comando:

pnpm config set store-dir <seu_novo_caminho_de_diretório>

Por exemplo, configurando o pnpm store em ~/.pnpm-store no diretório home do usuário:

pnpm config set store-dir ~/.pnpm-store

Se você não tiver certeza de onde o store atual está configurado, você pode consultar primeiro:

pnpm store path

Após a configuração ser concluída, o pnpm saberá de onde pegar os pacotes a partir de agora.

Às vezes, depois de alterar o caminho, o projeto ainda tem alguns erros residuais antigos. Neste momento, “começar de novo” geralmente é o remédio mais eficaz:

Etapa Descrição
1 Exclua a pasta node_modules no projeto.
2 Exclua pnpm-lock.yaml (se for um erro estranho causado por caminhos, recomenda-se regenerar o arquivo de bloqueio também).
3 Execute pnpm install para reconstruir os links.

Isso força o pnpm a puxar os links corretos do store para o seu projeto com base na sua configuração mais recente.

Como alocar para ser mais suave?

Se você alterna frequentemente entre diferentes ambientes, ou se preocupa com a instabilidade do drive externo, a configuração ideal é: Mantenha o pnpm store no SSD local, e o código do projeto pode ficar no drive externo.

Por quê? Porque o store geralmente não muda com muita frequência e, embora tenha volume, a soma total distribuída entre os projetos é, na verdade, muito menor que a do npm. Manter o armazém em um caminho local estável (por exemplo, o padrão do macOS ~/Library/pnpm/store) permite inicializar novos projetos sem problemas em outros lugares, mesmo sem o drive externo.

Este conceito de desenvolvimento Stateless (Sem estado) torna seu ambiente de desenvolvimento mais flexível!

Conclusão: Manter o Store Estável Economiza Problemas

A chave para gerenciar o pnpm store está na palavra “estabilidade”. Se você encontrar problemas de caminho, você pode fazer isso:

Etapa Descrição
1 Primeiro verifique e altere a configuração store-dir.
2 Limpe pacotes antigos: pnpm store prune (isso ajuda você a limpar arquivos de pacotes que ninguém está usando, emagrecendo o disco rígido)
3 Reinstale os pacotes pnpm install

Espero que este artigo ajude a todos a sair do buraco do caminho do pnpm e aproveitar a diversão do desenvolvimento de alta velocidade!

Reference

All rights reserved,未經允許不得隨意轉載
Criado com Hugo
Tema Stack desenvolvido por Jimmy