Sur Windows pour une raison quelconque, lorsque j'exécute, ilnpm install n'installera pas devDependencies . AFAIK ça devrait. Si je lance npm install --dev devDependencies sont installés. Je ne comprends pas pourquoi npm installn'installe pas trop devDependencies , mais installe uniquement les dépendances. Quelle pourrait être la raison? Comment puis-je le réparer?
Peut-être que quelque chose ne va pas avec mon package.json ? Il est répertorié ci-dessous s'il peut être utile:
{
"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"
}
}
devDependenciesn'est nécessaire que lorsque vous écrivez le package (application). Son utilisation ne nécessite pas le devDependencies. Il est donc raisonnable devDependenciesd'exiger l'installation de drapeaux supplémentaires. S'ils npm installétaient installés devDependencies par défaut , les utilisateurs recevraient également des packages redondants.
npm idans mon dossier, il saisit py package.jsonet installe à la fois deps et devdeps. C'est la façon dont il est censé fonctionner et cela a du sens (par exemple quand je le fais npm iaprès git cloneje m'attends à avoir tout ce dont j'ai besoin, y compris par exemple les plugins webpack). Cette question concerne un bogue, lorsque le comportement réel est différent de celui prévu. pls, jetez un œil à docs - docs.npmjs.com/cli/install . Il y a un indicateur pour ne pas installer les devdeps, mais le comportement par défaut est de les installer, ce qui est parfaitement logique et correspond à ce que tout le monde attend
npm i devrait amorcer les deux, ce qui est le comportement voulu, sensé et documenté, donc je ne comprends vraiment pas pourquoi vous dites que ce problème devrait être une norme
devDependenciessont littéralement des dépendances pour les développeurs du module . Je parie que la plupart d'entre nousnpm installun module pour l'utiliser, plutôt que de le développer.