npm installiert Abhängigkeiten auf seltsame, rekursive Weise

8

Ich habe npm install --dev verwendet, um die in einer package.json -Datei aufgelisteten Abhängigkeiten zu installieren, und es scheint, dass anstelle der Installation aller Pakete in einer flachen Struktur die Abhängigkeiten jedes Moduls im Verzeichnis des Moduls installiert werden.

>

Ich musste es abbrechen, weil es sehr viel Zeit in Anspruch nahm, weil viele Abhängigkeiten bereits erfüllt sein sollten, aber sie in einem anderen verschachtelten Verzeichnis neu herunterladen mussten (und ich hoffe, dass es keine Schleifen gibt und es irgendwann hätte fertig) ...

Mit dem Baum-Befehl ist dies ein Beispiel dafür, was ich bekomme:

%Vor%

Irgendwelche Ideen, warum das passieren könnte?

    
fortran 14.08.2013, 20:06
quelle

2 Antworten

14

Keine Sorge, so wurde Npm entworfen. Möglicherweise sehen Sie sogar das gleiche Modul mehrmals installiert (obwohl in der Regel mit verschiedenen Versionen).

Die Idee ist, dass jedes Modul, das unter node_modules installiert wird, eine etwas eigenständige Installation dieses Moduls mit seinen Abhängigkeiten und den notwendigen Versionen ist - es hängt nicht von global installierten Modulen ab.

Wenn Sie sich Sorgen darüber machen, dass mehrere Module ineffizient installiert werden, ist die experimentelle npm -Deduplizierung .

    
Jonathan Warden 15.08.2013, 22:01
quelle
2

dedupe ist hilfreich, wie Jonathan Warden sagt. Versuchen Sie jedoch npm3 . Für ein einfaches Paket wie gulp-jscs betrug die Installation von npm3 20% weniger Dateien, 5% weniger Speicherplatz. Und die Baumtiefe ging von 22 auf 5. Allerdings war npm3 für mich 2x langsamer.

    
John Henckel 15.04.2016 20:40
quelle

Tags und Links