Skip to content
Latchkey

Yarn vs pnpm para CI: qual gerenciador de pacotes é mais rápido?

Ambos batem o npm puro em velocidade, mas o Yarn (especialmente o Berry com PnP) e o pnpm seguem caminhos diferentes para um install rápido e reprodutível.

O Yarn é um gerenciador de pacotes maduro; o Yarn Berry (v2+) adiciona Plug'n'Play para pular o node_modules por completo. O pnpm usa um store endereçado por conteúdo com hard links e um layout estrito e não plano.

Yarnpnpm
Modelo de installnode_modules ou PnP (Berry)Store de conteúdo linkado
Velocidade de installRápidoRápido (frequentemente o mais rápido)
Lockfileyarn.lockpnpm-lock.yaml
Install no CIyarn install --immutablepnpm install --frozen-lockfile
RigorMais frouxo (Classic) / estrito (PnP)Estrito por padrão

No CI

O pnpm é tipicamente o mais rápido, com a menor pegada de disco e resolução estrita de fábrica. O PnP do Yarn Berry também pode ser extremamente rápido e amigável ao cache, mas o PnP às vezes precisa de shims de compatibilidade de pacotes. O Yarn Classic é estável e amplamente usado, mas mais lento que ambas as opções modernas. Escolha a flag immutable/frozen no CI para reprodutibilidade.

Faça cache da coisa certa

Faça cache do store do pnpm ou do diretório cache/.yarn do Yarn chaveado no lockfile. Ambos rodam de forma idêntica nos runners de CI; delegar o install pesado a runners gerenciados mais rápidos encurta a parte mais lenta do job.

O veredito

Quer os installs mais rápidos e rigor com o mínimo de complicação: pnpm. Já está no Yarn e quer o modelo de cache zero-install do PnP: Yarn Berry. Faça commit do lockfile e use a flag immutable/frozen em qualquer um deles.

Guias relacionados