I have this in my package.json file (shortened version):
{
"name": "a-module",
"version": "0.0.1",
"dependencies": {
"coffee-script": ">= 1.1.3"
},
"devDependencies": {
"stylus": ">= 0.17.0"
}
}
I am using NPM version 1.1.1 on Mac 10.6.8.
When I run the following command from the project root, it installs both the dependencies
and devDependencies
:
npm install
I was under the impression that this command installed the devDependencies
:
npm install --dev
How do I make it so npm install
only installs dependencies
(so production environment only gets those modules), while something like npm install --dev
installs both dependencies
and devDependencies
?
The npm install
command will install the devDependencies
along other dependencies
when run inside a package directory, in a development environment (the default).
In version 8.x and above use --omit=dev
flag to install only regular dependencies:
npm install --omit=dev
This will install only dependencies
, and not devDependencies
, regardless of the value of the NODE_ENV
environment variable.
If you use 6.x or an earlier version, you need to use the --only=prod
flag instead.
Note:
Before v3.3.0 of npm (2015-08-13), the option was called --production
, i.e.
npm install --production
You may also need --no-optional
flag.