npm ialah pengurus pakej lalai untuk Node.js. Facebook telah lama membangunkan penyelesaian pengurusan pakej alternatif yang dipanggil Yarn . Benang nampaknya perlahan-lahan hilang daripada bacaan GitHub sebagai penyelesaian lalai dan statistik di tapak rasmi menunjukkan bahawa hanya sebahagian kecil daripada pemasangan pakej dijalankan dengan Benang. Namun begitu, ia patut dilihat di luar kotak.
Yarn serasi sepenuhnya dengan fail package.json sedia ada, jadi anda boleh menggunakan kedua-dua penyelesaian dengan mudah dalam projek sedia ada. Perintah untuk kedua-dua penyelesaian hanya berbeza sedikit. Berikut ialah perbandingan arahan yang paling penting.:
| Penerangan | npm | Benang |
| Permulaan | npm init | benang init |
| Kemas kini | npm pasang -g npm | kemas kini diri benang |
| Pasang pakej | pasang npm - simpan [nama] | benang tambah [nama] |
| Pasang pakej | pasang npm --save-dev [nama] | benang tambah --dev [nama] |
| Pasang pakej secara global | npm pasang -g [nama] | benang global tambah [nama] |
| Pasang semua pakej | pasang npm | memasang benang |
| Kemas kini semua pakej | kemas kini npm | peningkatan benang |
| Nyahpasang pakej | npm keluarkan [nama] | benang keluarkan [nama] |
Benang bermula dengan matlamat untuk menyelesaikan beberapa titik kesakitan npm. Perbezaan yang paling ketara ialah prestasi yang lebih tinggi: melalui pemasangan tambahan, multithreading dan ciri pembunuh terkini Plug'n'Play (PNP), prestasi meningkat secara mendadak. Plug'n'Play menolak idea folder node_modules berasaskan projek, yang selalunya boleh berkembang ke ketinggian astronomi dalam bilangan fail. Anda boleh mengetahui lebih lanjut mengenai perkara ini dalam kertas putih rasmi Plug'n'Play . Kami memasang eslint sekali dengan npm dan kemudian dengan benang dengan cache dipanaskan dalam setiap kes untuk membuat perbezaan dalam kelajuan jelas (6x!):

