npm adalah pengelola paket standar untuk Node.js. Namun, Facebook telah mengembangkan solusi manajemen paket alternatif yang disebut Yarn untuk beberapa waktu sekarang. Yarn tampaknya perlahan menghilang dari README GitHub sebagai solusi default, dan statistik di situs resmi menunjukkan bahwa hanya sebagian kecil instalasi paket yang dilakukan dengan Yarn. Meskipun demikian, ada baiknya untuk melihat lebih jauh dari yang terlihat jelas.
Yarn sepenuhnya kompatibel dengan file package.json yang sudah ada, sehingga Anda dapat dengan mudah menggunakan kedua solusi tersebut dalam proyek yang sudah ada. Perintah untuk kedua solusi tersebut hanya sedikit berbeda. Berikut adalah perbandingan perintah-perintah terpenting.:
| Deskripsi | npm | Benang |
| Inisialisasi | npm init | benang init |
| Memperbarui | npm install -g npm | benang memperbarui diri |
| Instal paket | npm install --simpan [nama] | benang tambahkan [nama] |
| Instal paket | npm install --save-dev [nama] | benang tambahkan --dev [nama] |
| Instal paket secara global | npm install -g [nama] | benang global tambahkan [nama] |
| Instal semua paket | npm install | pemasangan benang |
| Perbarui semua paket | pembaruan npm | peningkatan benang |
| Copot pemasangan paket | npm hapus [name] | benang hapus [nama] |
Yarn dirancang untuk mengatasi beberapa kelemahan npm. Perbedaan yang paling jelas adalah peningkatan kinerjanya: instalasi bertahap, multithreading, dan fitur unggulan terbaru , Plug'n'Play (PNP), secara dramatis meningkatkan kinerja. Plug'n'Play menghilangkan kebutuhan akan folder `node_modules` berbasis proyek, yang seringkali dapat berkembang hingga proporsi astronomis dalam jumlah file. Informasi lebih lanjut dapat ditemukan dalam whitepaper resmi Plug'n'Play . Kita akan menginstal eslint sekali dengan npm dan kemudian dengan Yarn, masing-masing dengan cache yang sudah dihangatkan, untuk secara jelas menunjukkan perbedaan kecepatannya (6x!).:

