Introducao ao pnpm - Gerenciador de Pacotes de Alta Performance

Iniciante | 30 min leitura | 2025.12.15

O que voce vai aprender neste tutorial

✓ Instalacao do pnpm
✓ Comandos basicos
✓ Configuracao de workspace
✓ Migracao do npm

Step 1: Instalacao

# npm
npm install -g pnpm

# Homebrew
brew install pnpm

# corepack (Node.js 16.13+)
corepack enable
corepack prepare pnpm@latest --activate

Step 2: Comandos basicos

# Instalar pacotes
pnpm install

# Adicionar dependencia
pnpm add express
pnpm add -D typescript

# Remover
pnpm remove express

# Executar script
pnpm run dev
pnpm dev  # run pode ser omitido

# Atualizar
pnpm update
pnpm update --latest

Step 3: Configuracao de workspace

# pnpm-workspace.yaml
packages:
  - 'apps/*'
  - 'packages/*'
// package.json
{
  "name": "my-monorepo",
  "private": true,
  "scripts": {
    "dev": "pnpm -r dev",
    "build": "pnpm -r build"
  }
}

Step 4: Operacoes dentro do workspace

# Instalar em pacote especifico
pnpm add lodash --filter web

# Referenciar pacote interno
pnpm add @repo/ui --filter web --workspace

# Executar em todos os pacotes
pnpm -r run build

# Execucao paralela
pnpm -r --parallel run dev

Step 5: Dependencias no package.json

// apps/web/package.json
{
  "dependencies": {
    "@repo/ui": "workspace:*",
    "@repo/utils": "workspace:^1.0.0"
  }
}

Step 6: Migracao do npm

# Remover node_modules
rm -rf node_modules

# Remover package-lock.json
rm package-lock.json

# Instalar com pnpm
pnpm import  # Converter do package-lock.json
pnpm install

Step 7: Arquivo de configuracao

# .npmrc
shamefully-hoist=true
strict-peer-dependencies=false
auto-install-peers=true

Boas praticas

✓ Gerenciar com corepack
✓ Commitar pnpm-lock.yaml
✓ Configurar projeto com .npmrc
✓ Usar workspace:* para referencias internas

Resumo

pnpm e um gerenciador de pacotes rapido e eficiente em uso de disco. Com recursos de workspace, voce pode gerenciar monorepos facilmente.

← Voltar para a lista