Uma CLI que registra cada override de dependência do package.json em um apêndice e verifica problemas de segurança para manter os overrides com segurança.
- Estrelas
- 36,915
- Forks
- 1,960
- Issues abertas
- 199
- Último commit
- há 12 horas
O que é?
pnpm é um gerenciador de pacotes para projetos JavaScript e Node.js, uma alternativa ao npm e ao Yarn. Em vez de copiar cada dependência para o node_modules de cada projeto, ele armazena todos os arquivos dos pacotes uma única vez em um armazenamento endereçável por conteúdo no disco e cria vínculos para esses arquivos nos projetos, evitando duplicar arquivos idênticos entre projetos.
Ele impõe uma resolução estrita de dependências: um pacote só pode importar dependências declaradas explicitamente no próprio package.json, o que identifica imports não declarados que podem passar despercebidos em estruturas planas de node_modules. As instalações são registradas em um arquivo de lock pnpm-lock.yaml para garantir builds reproduzíveis. O suporte integrado a workspaces torna o pnpm adequado para monorepos.
O projeto oferece suporte a Windows, Linux e macOS. Também inclui o pnpm runtime para gerenciar versões do Node.js e uma versão experimental do CLI em Rust chamada pacquet.
Recursos principais
- 01Armazena os arquivos dos pacotes uma única vez em um armazenamento endereçável por conteúdo e cria vínculos para eles nos projetos.
- 02Isola estritamente as dependências para que os pacotes só acessem as dependências declaradas no package.json.
- 03Garante instalações determinísticas por meio do arquivo de lock pnpm-lock.yaml.
- 04Oferece suporte integrado a workspaces para monorepos.
- 05Gerencia versões do Node.js por meio do pnpm runtime.
- 06Funciona em Windows, Linux e macOS.
Casos de uso
- Instalar dependências em monorepos grandes com muitos pacotes inter-relacionados.
- Reduzir o uso de disco em máquinas com muitos projetos JavaScript que compartilham bibliotecas.
- Exigir declarações estritas de dependências em uma base de código de equipe.
- Substituir npm ou Yarn em pipelines de CI para acelerar as instalações.
Início rápido
- 1
Siga o guia oficial de instalação
Antes de usar
- pacquet, a versão em Rust, é experimental; por isso, para produção, é mais seguro usar a CLI já consolidada.
Tópicos
Perguntas frequentes
- O que é pnpm?
- Gerenciador de pacotes rápido e econômico no uso de disco para Node.js, que vincula pacotes de um armazenamento compartilhado endereçável por conteúdo, com isolamento estrito de dependências e suporte a monorepos. pnpm é um gerenciador de pacotes para projetos JavaScript e Node.js, uma alternativa ao npm e ao Yarn. Em vez de copiar cada dependência para o node_modules de cada projeto, ele armazena todos os arquivos dos pacotes uma única vez em um armazenamento endereçável por conteúdo no disco e cria vínculos para esses arquivos nos projetos, evitando duplicar arquivos idênticos entre projetos.
- pnpm é gratuito? Qual é a licença?
- pnpm é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pnpm ainda é mantido?
- Manutenção ativa. O último commit de pnpm foi em 24 de out. de 2026.
- Para que posso usar pnpm?
- Instalar dependências em monorepos grandes com muitos pacotes inter-relacionados. Reduzir o uso de disco em máquinas com muitos projetos JavaScript que compartilham bibliotecas. Exigir declarações estritas de dependências em uma base de código de equipe. Substituir npm ou Yarn em pipelines de CI para acelerar as instalações.
- Como instalar pnpm?
- Siga o guia oficial de instalação
- Onde consigo pnpm?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pnpm/pnpm
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Toolchain de frontend em Rust que combina um gerenciador de pacotes compatível com npm, um bundler baseado no Turbopack e um build WASM que roda no navegador.
Script Bash compatível com POSIX para instalar e alternar entre várias versões do Node.js por usuário e por shell.
Gerenciador de versões do Node.js para Windows que instala e alterna entre várias versões do Node.js por projeto ou globalmente.
Um toolkit rápido e completo para JavaScript e TypeScript: runtime, bundler, test runner e gerenciador de pacotes em um único executável.
Uma ferramenta CLI para gerenciar versões de pacotes, changelogs e publicações em monorepos, com base em arquivos changeset adicionados pelos colaboradores junto com suas alterações.