Το npm είναι ο προεπιλεγμένος διαχειριστής πακέτων για το Node.js. Το Facebook αναπτύσσει εδώ και καιρό μια εναλλακτική λύση διαχείρισης πακέτων που ονομάζεται Yarn . Το Yarn φαίνεται να εξαφανίζεται σιγά σιγά από τα readmes του GitHub καθώς η προεπιλεγμένη λύση και τα στατιστικά στοιχεία στον επίσημο ιστότοπο δείχνουν ότι μόνο ένα κλάσμα των εγκαταστάσεων πακέτων πραγματοποιείται με το Yarn. Ωστόσο, αξίζει να κοιτάξετε έξω από το κουτί.
Το Yarn είναι πλήρως συμβατό με τα υπάρχοντα αρχεία package.json, επομένως μπορείτε εύκολα να χρησιμοποιήσετε και τις δύο λύσεις σε υπάρχοντα έργα. Οι εντολές για τις δύο λύσεις διαφέρουν μόνο ελαφρώς. Παρακάτω παρουσιάζεται μια σύγκριση των πιο σημαντικών εντολών.:
| Περιγραφή | npm | Νήμα |
| Αρχικοποίηση | npm init | νήματα init |
| Εκσυγχρονίζω | εγκατάσταση npm -g npm | αυτο-ενημέρωση νήματος |
| Εγκατάσταση πακέτου | εγκατάσταση npm - αποθήκευση [όνομα] | νήματα προσθήκη [όνομα] |
| Εγκατάσταση πακέτου | εγκατάσταση npm --save-dev [όνομα] | νήματα --dev [όνομα] |
| Εγκαταστήστε πακέτο παγκοσμίως | εγκατάσταση npm -g [όνομα] | νήματα παγκόσμια προσθήκη [όνομα] |
| Εγκαταστήστε όλα τα πακέτα | εγκατάσταση npm | εγκατάσταση νήματος |
| Ενημέρωση όλων των πακέτων | ενημέρωση npm | αναβάθμιση νημάτων |
| Απεγκαταστήστε το πακέτο | npm αφαίρεση [όνομα] | νήματα αφαίρεση [όνομα] |
Το Yarn ξεκίνησε με στόχο να λύσει μερικά από τα σημεία πόνου του npm. Η πιο προφανής διαφορά είναι η υψηλότερη απόδοση: μέσω αυξητικών εγκαταστάσεων, πολλαπλών νημάτων και της πιο πρόσφατης λειτουργίας δολοφονίας Plug'n'Play (PNP), η απόδοση αυξάνεται δραματικά. Το Plug'n'Play απορρίπτει την ιδέα ενός φακέλου node_modules που βασίζεται σε έργο, ο οποίος μπορεί συχνά να αυξηθεί σε αστρονομικά ύψη στον αριθμό των αρχείων. Μπορείτε να μάθετε περισσότερα σχετικά με αυτό στην επίσημη λευκή βίβλο Plug'n'Play . Εγκαθιστούμε το eslint μία φορά με npm και μετά με νήμα με την κρυφή μνήμη να έχει ζεσταθεί σε κάθε περίπτωση για να γίνει καθαρή η διαφορά στην ταχύτητα (6x!):

