Ich verwendete npm install --dev
, um die Abhängigkeiten zu installieren, die in einer package.json
Datei aufgelistet sind, und es scheint, dass, anstatt alle Pakete in einer flachen Struktur zu installieren, es die Abhängigkeiten jedes Moduls innerhalb des Moduls installiert Verzeichnis.npm installiert Abhängigkeiten auf eine seltsame rekursive Weise
Ich musste es abbrechen, weil es viel dauerte, weil viele Abhängigkeiten bereits erfüllt sein sollten, aber es musste sie in einem anderen geschachtelten Verzeichnis erneut herunterladen (und ich hoffe, dass es keine Schleifen gibt und es hätte schließlich fertig) ...
den Baum Befehl Mit diesem ist ein Beispiel dafür, was ich erhalte:
├── grunt-cli
│ └── node_modules
│ ├── findup-sync
│ │ └── node_modules
│ │ ├── glob
│ │ │ └── node_modules
│ │ │ ├── minimatch
│ │ │ │ └── node_modules
│ │ │ │ ├── lru-cache
│ │ │ │ │ └── node_modules
│ │ │ │ │ └── weak
│ │ │ │ │ └── node_modules
│ │ │ │ │ └── mocha
│ │ │ │ │ └── node_modules
│ │ │ │ │ ├── coffee-script
│ │ │ │ │ │ └── node_modules
│ │ │ │ │ │ └── jison
│ │ │ │ │ │ └── node_modules
│ │ │ │ │ │ └── browserify
│ │ │ │ │ │ └── node_modules
│ │ │ │ │ │ ├── browser-resolve
│ │ │ │ │ │ │ └── example
Irgendwelche Ideen, warum dies geschieht werden könnte?
Aber warum? Ich habe Mühe, ein brauchbares Argument für diesen Ansatz zu finden, wenn ich im Internet surfe. Was ist falsch daran, sie global zu installieren oder eine flache Struktur zu verwenden? Welche Probleme löst das eigentlich? Sieht so aus, als könnten Sie alles in einer flachen Struktur installieren und einfach Versionen in die Verzeichnisnamen einfügen, um Konflikte zu vermeiden. Die derzeitige Implementierung scheint sehr ineffizient zu sein. – Danny
Überprüfen Sie diesen Artikel aus @Danny: http://dontkry.com/posts/code/modules-the-right-way.html – jackyalcine
DANK @jackyalcine für diesen Link. Ich war sehr frustriert mit NPM. Aber dieser Artikel klärt alles auf und gibt mir einige großartige Tools, um das Verzeichnistiefe-Problem zu lösen. (Ja, ich benutze leider windoz). –