Essayer de donner une meilleure vue d'ensemble pour les débutants.
npm a été historiquement (2010) le gestionnaire de packages le plus populaire pour JavaScript. Si vous souhaitez l'utiliser pour gérer les dépendances de votre projet, vous pouvez taper la commande suivante:
npm init
Cela générera un package.json
fichier. Il contient toutes les dépendances du projet.
ensuite
npm install
créerait un répertoire node_modules
et téléchargerait les dépendances (que vous avez ajoutées au package.json
fichier) à l'intérieur.
Cela créera également un package-lock.json
fichier. Ce fichier est utilisé pour décrire l'arborescence des dépendances qui a été générée. Il permet aux développeurs d'installer exactement les mêmes dépendances. Par exemple, vous pouvez imaginer un développeur mettant à niveau une dépendance vers la v2, puis la v3, tandis qu'un autre procédant directement à la mise à niveau vers la v3.
npm installe les dépendances de manière non déterministe, ce qui signifie que les deux développeurs pourraient avoir un node_modules
répertoire différent entraînant des comportements différents . ** npm a souffert d'une mauvaise réputation comme par exemple en février 2018: un problème a été découvert dans la version 5.7.0 dans lequel l'exécution de sudo npm sur les systèmes Linux changerait la propriété des fichiers système, brisant définitivement le système d'exploitation.
Pour résoudre ces problèmes et bien d'autres, Facebook a introduit un nouveau gestionnaire de packages (2016): Yarn un gestionnaire de packages plus rapide, plus sécurisé et plus fiable pour JavaScript.
Vous pouvez ajouter Yarn à un projet en tapant:
yarn init
Cela créera un package.json
fichier. Ensuite, installez les dépendances avec:
yarn install
Un dossier node_modules
sera généré. Yarn générera également un fichier appelé yarn.lock
. Ce fichier a le même objectif que le package-lock.json
mais est plutôt construit à l'aide d'un algorithme déterministe et fiable conduisant ainsi à des constructions cohérentes.
Si vous avez démarré un projet avec npm , vous pouvez en fait migrer facilement vers Yarn . le fil consommera la même chose package.json
. Voir Migrer depuis npm pour plus de détails.
Cependant, npm a été amélioré à chaque nouvelle version et certains projets utilisent toujours npm sur fil .