O que é o Yarn? O gerenciador de pacotes JavaScript explicado
O Yarn é um gerenciador de pacotes JavaScript que popularizou os lockfiles e oferece instalações rápidas e determinísticas, além de workspaces de monorepo de primeira classe.
O Yarn foi criado para resolver os pontos problemáticos iniciais do npm em torno de velocidade e determinismo, e introduziu o conceito de lockfile que hoje é padrão em todos os lugares. Ele lê o mesmo package.json que o npm e vem em duas linhas principais: o "Classic" original (1.x) e o reescrito "Berry" (2.x em diante).
O que é o Yarn
O Yarn é um gerenciador de pacotes de linha de comando para projetos Node.js. Ele resolve as dependências declaradas no package.json, registra as versões exatas no yarn.lock e oferece suporte a workspaces para gerenciar muitos pacotes em um único repositório. O Yarn Classic usa um node_modules convencional; o Berry usa Plug and Play por padrão.
Classic vs Berry e Plug and Play
O Yarn Classic (1.x) ainda é amplamente usado e se comporta de forma muito parecida com o npm. O Yarn Berry (2+) introduziu o Plug and Play (PnP), que dispensa completamente o node_modules e resolve os módulos a partir de um único mapa .pnp.cjs, além dos zero-installs em que o cache é commitado no repositório. O PnP é mais rápido e mais estrito, mas ocasionalmente confunde ferramentas que presumem a existência do node_modules.
Um exemplo de uso
Os comandos do dia a dia são curtos e familiares.
# install exactly from the lockfile (use in CI)
yarn install --immutable
# add a dependency
yarn add axios
# run a script
yarn buildPapel em CI/CD
Em pipelines, "yarn install --immutable" (Berry) ou "yarn install --frozen-lockfile" (Classic) garante que o lockfile seja respeitado e falha se ele fosse mudar. Fazer cache do diretório de cache do Yarn acelera instalações repetidas. Com os zero-installs do Berry, o cache de dependências vive no repositório, então a CI pode pular completamente a etapa de rede da instalação.
Alternativas
O npm é o padrão e não exige instalação extra. O pnpm oferece a melhor eficiência de disco e velocidade de instalação por meio de seu armazenamento compartilhado. O Yarn continua sendo uma escolha forte para equipes que valorizam seus workspaces maduros, o rigor do PnP ou o fluxo de zero-install.
Principais conclusões
- O Yarn popularizou os lockfiles e oferece instalações determinísticas e rápidas.
- O Berry adiciona Plug and Play e zero-installs; o Classic permanece baseado em node_modules.
- Use "yarn install --immutable" na CI para impor o lockfile.