web-dev-qa-db-fra.com

npm install n'installera pas devDependencies

Sous Windows, pour une raison quelconque, lorsque je lance npm install, il n’installe pas devDependencies. Autant que je sache il devrait. Si je lance npm install --dev, les devDependencies sont installés. Je ne comprends pas pourquoi npm install n'installe pas aussi devDependencies, mais installe uniquement des dépendances. Quelle pourrait être la raison? Comment puis-je le réparer? Peut-être que smth ne va pas avec mon package.json? Il est répertorié ci-dessous si cela 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"
  }
}
219
Tristan Tzara

Vérifiez la documentation NPM pour installer

Avec l'indicateur --production (ou lorsque la variable d'environnement NODE_ENV est définie sur production), npm n'installe pas les modules répertoriés dans devDependencies. "

L'argument --only={prod[uction]|dev[elopment]} ne provoque l'installation que de devDependencies ou uniquement de non-devDependencies quel que soit le NODE_ENV. "

As-tu essayé

npm install --only=dev

Si vous craignez que votre package package.json soit incorrect, voici la meilleure chose à faire. Créez un nouveau dossier et exécutez:

npm init --yes

Ensuite:

npm install --save-dev brunch@^2.0.4
npm install --save-dev cssnano-brunch@^1.1.5
npm install --save-dev javascript-brunch@^1.8.0
npm install --save-dev sass-brunch@^1.9.2
npm install --save-dev uglify-js-brunch@^1.7.8
npm install jquery@^2.1.4 --save

Et vous devriez être prêt à partir! Sinon, continuerons à poster d'autres options.

Vérifiez votre configuration npm:

npm config list

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 .

Vous échouez toujours?

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: le mieux.

Puis lancez:

npm init --yes

Maintenant, lancez:

npm install underscore --save

et enfin:

npm install mocha --save-dev

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 s'il a un rapport avec le dossier précédent et ses dépendances.

259
arcseldon

Vérifiez si la valeur de production de npm config est définie sur true. Si cette valeur est true, il ignorera les dépendances de dev.

Exécuter npm config get production

Pour le définir: npm config set -g production false

77
Shawn Mclean

assurez-vous de ne pas avoir la variable env NODE_ENV définie sur 'production'.

Si vous le faites, les dépendances dev ne seront pas installées sans l'indicateur --dev

28
Nir Levy

J'avais un fichier package-lock.json d'une ancienne version de mon package.json, je l'ai supprimé et tout a été installé correctement.

14
user2929830

J'avais un problème similaire. npm install --only=dev ne fonctionnait pas, ni npm rebuild. Finalement, j'ai dû supprimer node_modules et package-lock.json et exécuter à nouveau npm install. Cela a réglé le problème pour moi.

7
obsessiveprogrammer

Assurez-vous que votre package.json est valide ...

J'ai eu l'erreur suivante ...

npm WARN Invalid name: "blah blah blah"

et que, de même, devDependencies n'a pas été installé.

FYI, changer le package.json "nom" en blah-blah-blah le corrige.

5
Alex Gray

Vous pouvez utiliser le chemin court pour les dépendances d'installation uniquement pour le développement, comme suit:

npm i -D <dependencies-names>
1
Ale