Skip to content
Latchkey

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.

Common Yarn commands
# install exactly from the lockfile (use in CI)
yarn install --immutable

# add a dependency
yarn add axios

# run a script
yarn build

Papel 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.

Guias relacionados