J'essaie de donner une meilleure vue d'ensemble pour les débutants.
npm a été historiquement (2010) le gestionnaire de paquets le plus populaire pour JavaScript. Si vous voulez 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.
Entonces
npm install
créerait un répertoire node_modules
et téléchargez les dépendances (que vous avez ajoutées au fichier package.json
) à l'intérieur de celui-ci.
Il créera également un package-lock.json
fichier. Ce fichier est utilisé pour décrire l'arbre de dépendances qui a été généré. Il permet aux développeurs d'installer exactement les mêmes dépendances. Par exemple, vous pouvez imaginer qu'un développeur mette à jour une dépendance à la v2 puis à la v3 tandis qu'un autre met directement à jour à la v3.
npm installe les dépendances de manière non déterministe, ce qui signifie que les deux développeurs peuvent avoir une version différente de l'application. node_modules
résultant en 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 changeait la propriété des fichiers système, cassant définitivement le système d'exploitation.
Pour résoudre ces problèmes et d'autres, Facebook a introduit un nouveau gestionnaire de paquets (2016) : Fils a plus rapide, plus sûr et plus fiable. pour JavaScript.
Vous pouvez ajouter Fils à 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é. Fils va également générer un fichier appelé yarn.lock
. Ce fichier a la même fonction que le fichier package-lock.json
mais il est construit à l'aide d'un algorithme déterministe et fiable, ce qui permet d'obtenir des constructions cohérentes.
Si vous avez commencé un projet avec npm vous pouvez en fait migrer vers Fils facilement. Le fil consommera la même package.json
. Voir Migrer depuis npm pour plus de détails.
Cependant, npm a été amélioré avec chaque nouvelle version et certains projets utilisent toujours npm sur fils .
17 votes
Ce n'est pas une mauvaise question et elle ne mérite pas un downvote. Cela dit, elle doit être un peu plus étoffée pour devenir une vraie bonne question.
0 votes
Une recherche rapide sur Google permet de trouver este . Je crois que c'est probablement trop large/pas constructif pour StackOverflow et pourrait faire l'objet d'un peu plus de recherche montrée de toute façon.
0 votes
@jedd.ahyoung Je ne sais pas pourquoi j'ai été rejeté ! Je voulais connaître la réponse et je ne la trouvais nulle part sur Internet, alors j'ai demandé !
0 votes
Tu as été descendu parce que c'est stackoverflow. Ils ne peuvent pas vous dire d'aller sur Google ou d'utiliser la fonction de recherche, ou d'améliorer votre message pour que nous ayons une meilleure chance de vous répondre.
2 votes
@Aurora0001 quand j'ai cherché j'ai vu le cheatsheet mais ce n'est pas la réponse à ma question ! Je veux connaître les différences entre les deux et non les différences entre les commandes. S'il vous plaît, lisez d'abord ma question
5 votes
@Asha Vous devriez modifier votre question pour la rendre plus précise et montrer ce que vous avez déjà recherché. Quel genre de différences cherchez-vous à trouver ? Cherchez-vous à savoir comment les bibliothèques sont mises en œuvre ? Essayez-vous de découvrir comment elles diffèrent dans leur approche du problème ? Si vous rendez votre question plus précise, elle peut être bonne, en fonction de ce que vous demandez. (Selon ce que vous demandez, l'information peut déjà être disponible sur Google).
0 votes
@Asha, si vous aviez montré que vous aviez lu cela mais que ce n'était pas pertinent, cela aurait été utile pour montrer l'effort de recherche. Mais comme je l'ai dit, les questions de comparaison ne sont généralement pas idéales pour les questions-réponses, et il aurait été préférable de formuler la question différemment.
4 votes
C'est drôle que les gens vous disent de le googler ; j'ai trouvé votre question en allant sur google... les gens de stackoverflow aiment exclure les choses, comme si cela les rendait plus importantes, je suppose.