Comment installer uniquement «devDependencies» en utilisant npm

87

J'essaye d'installer UNIQUEMENT les "devDependencies" listées dans mon fichier package.json. Mais aucune des commandes suivantes ne fonctionne comme prévu. Toutes les commandes suivantes installent également les dépendances de production dont je ne veux pas.

npm install --dev
npm install --only=dev
npm install --only-dev

Je ne peux plus penser à des moyens de dire au npm d'installer seul les devDependencies. :(

Nesan Rajendran
la source
comme aujourd'hui - npm WARN install L'utilisation de l' --devoption est obsolète. Utilisez --only=devplutôt.
Andriy Leshchuk

Réponses:

135

Consultez la documentation NPM pour l'installation :

Avec l' --productionindicateur (ou lorsque la NODE_ENVvariable d'environnement est définie sur production), npm n'installera pas les modules répertoriés dans devDependencies.

L' --only={prod[uction]|dev[elopment]}argument entraînera l'installation soit uniquement de devDependencies, soit uniquement de non-devDependencies, quel que soit NODE_ENV.

Avez-vous essayé ce qui suit?

npm install --only=dev
Ahmed farag mostafa
la source
10
Je viens de découvrir que ma version npm était 2.x. Je l'ai mis à niveau vers la v3.x en exécutant la commande npm install npm -get l' option --only = dev a fonctionné comme un charme. Merci pour la réponse.
Nesan Rajendran
Le problème de version mentionné par @NesanJoseph était également le problème dans mon cas. Dans l'ancienne version de npm, npm install --produtilisé pour installer des éléments à partir d'un dependenciesdossier. Les deux npm installet npm install --devutilisé pour installer à la fois les dossiers dependencieset devDependencies!
Shiyaz
J'obtiens le même problème que @ricka mentionne en utilisant nvm pour exécuter node v 10.9.0 et npm v 6.4.1 (les deux dernières versions à partir de 10/18) et en utilisant également --only = dev installe toujours les dépendances d'application. . Fondamentalement, les indicateurs d'installation npm sont à 100% inutiles à ce stade.
Henry
Ne fonctionne pas pour moi (nœud v12.19.0, npm v6.14.8). Peut-être que cela a quelque chose à voir avec ce numéro ouvert depuis avril 2016: github.com/npm/npm/issues/12184
Fapaz
23
npm install thePackageName --save-dev

Cela fonctionne bien pour moi.

Jeff
la source
3
--save-devenregistre le paquet dans devDependencies dans package.json
Rashomon
1
--save-dev est destiné à signaler que le paquet installé serait installé sous devDependencies
Daniel Dubovski
3
Plus commenpm install thePackageName --save-dev
Deke
3
Cela installera un seul nom explicite de package et l'enregistrera dans les dépendances de développement. La question est de savoir comment installer uniquement devDependencies à partir du package.json.
Lalnuntluanga Chhakchhuak
1
Ne répond pas aux critères de la question. Votre réponse est d'installer: 1. un seul package 2. la question demande comment installer des éléments qui sont déjà dans package.json mais uniquement dans la liste des dépendances.
Urasquirrel
15
npm i -D

Une version courte en option.

Roger Muscito
la source
OUI, j'avais fait npm install -Det ça a marché. donc j'ai été surpris et googlé ceci, après de nombreuses réponses, je vois votre réponse :)
its4zahoor
2

En cours d'exécution npm install, il installera toutes les dépendances sous devDependencies `ou dépendances .

Pour installer et enregistrer des packages en tant que dépendances de développement dans package.json, npm install package_name --save-devou passer l'option-D

Pour installer tous les packages sous devDependencies , npm install --only=dev

Pour installer et enregistrer des packages en tant que dépendances prod ou uniquement dans package.json, npm install package_name --save-prodou passer l'option -Pounpm install package_name

Pour installer tous les packages sous des dépendances ou des dépendances Prod , définissez la variable d'environnement NODE_ENV=productionou transmettez-la avec la commande NODE_ENV=production npm installounpm install --only=prod

Au lieu d'utiliser la installcommande npm comme npm installvous pouvez simplement utiliser icomme npm i, à court d'installation.

Référence

Piyush Sonigra
la source