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 install
n'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"
}
}
devDependencies
sont littéralement des dépendances pour les développeurs du module . Je parie que la plupart d'entre nousnpm install
un module pour l'utiliser, plutôt que de le développer.devDependencies
n'est nécessaire que lorsque vous écrivez le package (application). Son utilisation ne nécessite pas ledevDependencies
. Il est donc raisonnabledevDependencies
d'exiger l'installation de drapeaux supplémentaires. S'ilsnpm install
étaient installésdevDependencies
par défaut , les utilisateurs recevraient également des packages redondants.npm i
dans mon dossier, il saisit pypackage.json
et 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 faisnpm i
aprèsgit clone
je 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 attendnpm 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 normeRéponses:
Vérifiez les documents NPM pour l' installation
As-tu essayé
Si vous craignez que votre package.json soit incorrect, la meilleure chose à faire est la suivante. Créez un nouveau dossier et exécutez:
Ensuite:
Et vous devriez être prêt à partir! Sinon, continuera à publier d'autres options.
Vérifiez votre configuration npm:
npm obtient ses paramètres de configuration à partir de la ligne de commande, des variables d'environnement et des fichiers npmrc. Vérifiez donc les variables d'environnement et le fichier npmrc .
Toujours en échec?
Ok, créez un nouveau dossier, idéalement ailleurs sur votre système de fichiers. c'est à dire. pas dans la même hiérarchie de dossiers. Par exemple, C: \ myNewFolder - le plus proche de la base C: conduisez le mieux.
Exécutez ensuite:
Maintenant, lancez:
et enfin:
Est-ce que tout fonctionne comme prévu?
Ce que j'essaie de faire, c'est de comprendre si votre problème est global ou quelque chose de local par rapport au dossier et aux dépendances précédents.
la source
Vérifiez si la valeur de production de npm config est définie sur true. Si cette valeur est vraie, elle ignorera les dépendances de développement.
Courir
npm config get production
Pour le régler:
npm config set -g production false
la source
true
plutôt quefalse
?assurez-vous que la variable env n'est pas
NODE_ENV
définie sur «production».Si vous le faites, les dépendances de développement ne seront pas installées sans l'
--dev
indicateurla source
npm install --dev
installe devDependencies de manière récursive . Ce n'est presque jamais ce que vous voulez et est en fait obsolète .--dev
option est déconseillée. Utilisez à la--only=dev
placeJ'avais un
package-lock.json
fichier d'une ancienne version de mon package.json, je l'ai supprimé puis tout s'est installé correctement.la source
J'avais un problème similaire.
npm install --only=dev
n'a pas fonctionné, pas plus quenpm rebuild
. En fin de compte, je devais supprimernode_modules
etpackage-lock.json
et courir ànpm install
nouveau. Cela m'a arrangé.la source
Vous pouvez utiliser la méthode courte pour les dépendances d'installation uniquement pour le développement comme suit:
la source
Assurez-vous que votre
package.json
est valide ...J'ai eu l'erreur suivante ...
npm WARN Invalid name: "blah blah blah"
et cela, de la même manière, a empêché
devDependencies
l'installation.Pour info, changer le
package.json
"nom" pour leblah-blah-blah
corriger.la source
J'ai le même problème car j'ai défini le
NODE_ENV=production
tout en construisant Docker. Ensuite, j'en ajoute un de plusnpm install --only=dev
. Tout fonctionne bien. J'ai besoin des devDependencies pour construire des modules TypeSciprtla source