110
votes

I am trying to install ONLY the "devDependencies" listed in my package.json file. But none of the following commands work as I expect. All of the following commands install the production dependencies also which I do not want.

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

I cannot think of any more ways of telling the npm to install the devDependencies alone. :(

7
as today - npm WARN install Usage of the --dev option is deprecated. Use --only=dev instead.Andriy Leshchuk
The latest version of NPM (v7) supports --production=false instead of the above.devspeter
--production=false does not solve the OP question: it installs dependencies and devDependencies, not ONLY devDependencies.Michael K

7 Answers

165
votes

Check the NPM docs for install:

With the --production flag (or when the NODE_ENV environment variable is set to production), npm will not install modules listed in devDependencies.

The --only={prod[uction]|dev[elopment]} argument will cause either only devDependencies or only non-devDependencies to be installed regardless of the NODE_ENV.

Have you tried the following?

npm install --only=dev
31
votes
npm i -D

An optional short version.

24
votes
npm install thePackageName --save-dev

This works fine for me.

4
votes

The --only=dev option is no longer supported. To do the dev dependency install run npm install --production=false

3
votes

As of npm version 7.10.0 you can omit certain types of dependencies, however you cannot omit "the" dependencies (production) anymore. That's why there is no solution for this problem anymore.

2
votes

Running npm install, It will install all dependencies under devDependencies` or dependencies.

For installing and save packages as dev dependencies in package.json, npm install package_name --save-dev or pass option -D

For installing all packages under devDependencies, npm install --only=dev

For installing and save packages as prod or only dependencies in package.json, npm install package_name --save-prod or pass option -P or npm install package_name

For installing all packages under dependencies or Prod dependencies, set Environment variable NODE_ENV=production or pass it with the command NODE_ENV=production npm install or npm install --only=prod

Instead of using install in npm command like npm install you can just use i like npm i, short of install.

Reference

0
votes

I am using npm version 6.14.9.

And I was able to install a dependency as a devDependency only using this command.

npm install --save-dev