npm est le gestionnaire de packages par défaut pour Node.js. Facebook développe depuis longtemps une solution alternative de gestion de paquets appelée Yarn . Yarn semble disparaître lentement des readmes de Github en tant que solution standard et les statistiques sur le site officiel montrent que seule une fraction des packages est réalisée par 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 utiliser les deux solutions pour des projets existants sans aucun problème. Les commandes des deux solutions ne diffèrent que marginalement. Voici une comparaison 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 certaines des faiblesses de npm. La différence la plus évidente réside dans les performances plus élevées: grâce à des 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, le nombre de fichiers qui peuvent souvent atteindre des sommets astronomiques . Vous pouvez en savoir plus à ce sujet dans le livre blanc officiel sur Plug'n'Play. Nous installons eslint une fois avec npm puis avec du fil avec le cache réchauffé dans chaque cas pour faire la différence de vitesse (6x!):