npm adalah manajer paket default untuk Node.js. Facebook telah lama mengembangkan solusi manajemen paket alternatif yang disebut Yarn . Yarn tampaknya perlahan menghilang dari readmes Github sebagai solusi standar dan statistik di situs resmi menunjukkan bahwa hanya sebagian kecil dari paket yang dilakukan oleh Yarn. Namun demikian, ada baiknya berpikir di luar kotak.
Yarn sepenuhnya kompatibel dengan file package.json yang ada - sehingga Anda dapat menggunakan kedua solusi tersebut untuk proyek yang ada tanpa masalah. Perintah dari kedua solusi hanya sedikit berbeda. Berikut ini perbandingan perintah yang paling penting:
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] |
Benang dimulai dengan tujuan untuk memecahkan beberapa kelemahan npm. Perbedaan yang paling jelas adalah kinerja yang lebih tinggi: Dengan instalasi tambahan, multithreading, dan fitur mematikan terbaru Plug'n'Play (PNP) , kinerja meningkat secara dramatis. Plug'n'Play membuang ide folder node_modules berbasis proyek, jumlah file yang sering kali dapat meningkat hingga ketinggian astronomi . Informasi lebih lanjut dapat ditemukan di kertas putih resmi plug'n'play. Kami menginstal eslint sekali dengan npm dan kemudian dengan benang dengan cache yang dihangatkan di setiap kasus untuk membuat perbedaan dalam kecepatan (6x!):