2016-08-21 2 views
6

Ich folge den Laravel Dokumenten und wollte Elixir für die Verwaltung von Sass und anderen Präprozessoren installieren.Laravel "npm install" downloads 30.000+ Artikel

Aber wie ich "npm installieren" aus dem Laravel Stammordner starten, ich am Ende mit:

114.316.724 Bytes (220,3 MB auf der Festplatte) für 35,861 Artikel

im Ordner node_modules!

Bitte sagen Sie mir, dass Elixir oder Gulp diese lächerliche Anzahl von Abhängigkeiten nicht benötigt, oder habe ich etwas falsch gemacht?

Die package.json enthält:

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "gulp": "^3.9.1", 
    "laravel-elixir": "^5.0.0", 
    "bootstrap-sass": "^3.3.0" 
    } 
} 
+0

Warum ist das wieder lächerlich? – Ohgodwhy

+4

npm ist lächerlich, aber ja, das ist es, was in der npm-Welt für "normal" gilt. – Oli

+0

Sagen wir, jemand braucht nur einen Sass und keinen anderen Präprozessor. Aber nachdem du Elixir geladen hast, hast du über 30.000 Dateien, von denen du vielleicht nur 2% verwendest. Ich denke, Gulp sollte eine Option haben, um anzugeben, welche Pakete installiert werden sollen, falls der Benutzer nur ein paar benötigt. –

Antwort

0

Der Grund, warum npm Downloads so viel Elemente, ist, dass jedes Element in Ihrem Abhängigkeiten auch eine package.json-Datei haben, und in jeder dieser Dateien werden mehr Abhängigkeiten deklariert . Dies erstellt eine komplexe Abhängigkeitsstruktur.

Es gibt keinen Weg, um die Tatsache, dass es 200MB von Paketen erfordert Elixier zu laufen, obwohl das Kernteam von Laravel jetzt Garn als Paketmanager empfiehlt (https://yarnpkg.com/lang/en/), zu drastisch beschleunigt Ihr Knoten-fu.

Ich persönlich sehe 5-10x Geschwindigkeit in Paketinstallationen.

+1

interessant, danke für den Vorschlag! –