Pourquoi l'installation d'un paquet npm ajoute-t-elle de nombreux sous-dossiers dans les modules de nœuds?
J'ai mis à jour node / npm que j'utilise avec mes projets grunt.
, Cependant quand je veux ajouter un package à un projet myproject/
(dire npm install grunt-favicon
) il semble ajouter des centaines de dossiers de myproject/node_modules/
alors qu'elle n'est utilisée pour ajouter un normalement précédé avec grunt comme node_modules/grunt-favicon
.
Ma connaissance de ces choses est basique mais celles-ci semblent être des dépendances requises, et même certains de ces éléments ont encore plus de dépendances.
Ne devrait-il pas ajouter ces dépendances quelque part d'autre? Si oui comment puis-je corriger cela?
J'utilise npm 3.3.5
, node 4.1.1
, grunt-cli v0.1.13
et grunt v0.4.5
.
Et cette capture d'écran montre ~/.npm
à gauche puis ~/myproject/node_modules
à droite
1 réponses
C'est correct, ne vous inquiétez pas. Vous installez toujours les paquets localement, juste la structure de répertoire semble un peu différente. C'est un comportement qui a changé dans npm v3.0.0: maintenant, toutes les dépendances des dépendances sont installées directement dans le dossier node_modules
(dans la mesure où cela ne provoque pas de conflits de version). Cela réduit considérablement la taille de l'arborescence des fichiers.
À Partir de mnp 3.0.0 notes de version de:
Plat, plat, Plat!
Vos dépendances seront maintenant installé au maximum à plat. Dans la mesure du possible, toutes vos dépendances, et leurs dépendances, et leurs dépendances seront installées dans le dossier node_modules de votre projet sans imbrication. Vous ne verrez que des modules imbriqués l'un sous l'autre lorsque deux (ou plusieurs) modules ont des dépendances conflictuelles.