Unter Windows werden aus irgendeinem Grund beim Ausführen npm installkeine devDependencies installiert . AFAIK sollte es. Wenn ich npm install --dev devDependencies ausführe, werden diese installiert. Ich verstehe nicht, warum npm installnicht auch devDependencies installiert , sondern nur Abhängigkeiten. Was könnte der Grund sein? Wie kann ich es reparieren?
Vielleicht stimmt etwas mit meinem package.json nicht ? Es ist unten aufgeführt, wenn es hilfreich sein kann:
{
"name": "try-brunch",
"version": "0.1.0",
"private": "true",
"devDependencies": {
"brunch": "^2.0.4",
"cssnano-brunch": "^1.1.5",
"javascript-brunch": "^1.8.0",
"sass-brunch": "^1.9.2",
"uglify-js-brunch": "^1.7.8"
},
"dependencies": {
"jquery": "^2.1.4"
}
}
devDependencieswird nur benötigt, wenn Sie das Paket (Anwendung) schreiben . Für die Verwendung ist das nicht erforderlich devDependencies. So ist es sinnvoll für devDependencieszusätzliche Flags erfordern installiert werden. Wenn npm installinstalliert devDependencies standardmäßig die Benutzer erhalten würden redundante Pakete auch.
npm iin meinem Ordner mache, es py greift package.jsonund sowohl deps als auch devdeps installiert. Dies ist die Art und Weise, wie es funktionieren soll und es macht Sinn (z. B. wenn ich es tue, npm inachdem git cloneich erwartet habe, alles zu haben, was ich brauche, einschließlich zB Webpack-Plugins). Diese Frage behebt einen Fehler, wenn sich das tatsächliche Verhalten vom beabsichtigten unterscheidet. Bitte werfen Sie einen Blick auf docs - docs.npmjs.com/cli/install . Es gibt ein Flag, um devdeps nicht zu installieren, aber das Standardverhalten ist, sie zu installieren, was durchaus Sinn macht und das ist, was jeder erwartet
npm i sollte beides booten, was das beabsichtigte, vernünftige und dokumentierte Verhalten ist, also verstehe ich ehrlich gesagt nicht, warum Sie sagen, dass dieses Problem ein Standard sein sollte
devDependenciessind buchstäblich Abhängigkeiten für die Entwickler des Moduls . Ich wette, die meisten von uns habennpm installein Modul, um es zu verwenden, anstatt es zu entwickeln.