npm est le gestionnaire de packages par défaut pour Node.js. Facebook développe depuis longtemps une solution alternative de gestion de packages appelée Yarn . Yarn semble disparaître lentement des readmes GitHub en tant que solution par défaut et les statistiques sur le site officiel montrent que seule une fraction des installations de packages est effectuée avec Yarn. Néanmoins, cela vaut la peine de sortir des sentiers battus.
Yarn est entièrement compatible avec les fichiers package.json existants ; vous pouvez donc facilement utiliser les deux solutions dans vos projets en cours. Les commandes diffèrent légèrement entre les deux solutions. Vous trouverez ci-dessous un tableau comparatif des commandes les plus importantes.:
| La description | npm | Fil |
| Initialiser | npm init | fil init |
| Mise à jour | npm installer -g npm | mise à jour automatique du fil |
| Installer le paquet | npm installer --save [nom] | fil ajouter [nom] |
| Installer le paquet | npm installer --save-dev [nom] | fil ajouter --dev [nom] |
| Installer le package globalement | npm install -g [nom] | yarn global add [nom] |
| Installez tous les packages | npm installer | installation de fil |
| Mettre à jour tous les packages | mise à jour npm | mise à niveau du fil |
| Désinstaller le package | npm supprimer [nom] | fil supprimer [nom] |
Yarn a commencé dans le but de résoudre certains des problèmes de npm. La différence la plus évidente réside dans les performances supérieures : grâce aux installations incrémentielles, au multithreading et à la dernière fonctionnalité phare Plug'n'Play (PNP), les performances augmentent considérablement. Plug'n'Play rejette l'idée d'un dossier node_modules basé sur un projet, qui peut souvent atteindre des hauteurs astronomiques en termes de nombre de fichiers. Vous pouvez en savoir plus à ce sujet dans le livre blanc officiel Plug'n'Play . Nous installons eslint une fois avec npm puis avec du fil avec le cache réchauffé dans chaque cas pour rendre claire la différence de vitesse (6x !):

