EMZETT.
Giriş yap

pnpm ve Yarn’ın npm ile karşılaştırması

Kısaca: pnpm ve Yarn, JavaScript için paket yöneticisi olarak npm’e alternatiflerdir. pnpm özellikle yer ve zaman kazandırır, Yarn kendi çalışma alanlarını (workspace) ve Plug’n’Play’i sunar.

Biraz daha ayrıntılı: Üçü de package.json okur, aynı kayıt defterinden (registry) kurar ve bir kilit dosyası üretir; ancak klasör düzeninde ayrılırlar.

Ayrıntılı

  • npm: Node.js ile birlikte gelir. Paketleri node_modules içine düz yerleştirir, her proje kendi kopyalarını alır.
  • pnpm: Her paketi küresel olarak yalnızca bir kez saklar ve sabit bağlantılarla (hard link) ilişkilendirir. Bu, disk tasarrufu sağlar, kurulumları hızlandırır ve “hayalet bağımlılıkları”, yani hiç belirtmediğin paketlerin içe aktarılmasını önler.
  • Yarn: Klasik (v1) npm’e benzer, modern (Berry) node_modules’ün yerini alan ve paketleri arşivlerden yükleyen Plug’n’Play ile.
  • Kilit dosyaları: package-lock.json, pnpm-lock.yaml, yarn.lock. Bkz. kilit dosyaları.
  • Monoreposlar: Üçü de çalışma alanlarını destekler. pnpm bunun için özellikle popülerdir.
  • Seçim: Mevcut projelerde mevcut araçta kal, yenilerinde pnpm iyi bir seçimdir.

Ayrıca bak: npm audit