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_modulesiç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