My package.json
:
{
"name": "thumbnaillist-gulp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"browserify": "^12.0.1",
"gulp": "^3.9.0",
"gulp-concat": "^2.6.0",
"gulp-react": "^3.1.0",
"gulp-util": "^3.0.7",
"react": "^0.13.3",
"react-script-loader": "0.0.1",
"reactify": "^1.1.1",
"vinyl-source-stream": "^1.1.0",
"watchify": "^3.6.1"
}
}
The weird thing is that after I execute "npm install", besides the modules listed in the dependencies field, other modules are also installed, such as
drwxr-xr-x 14 xxx wheel 476B Nov 18 18:41 acorn
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 amdefine
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-green
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-regex
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-styles
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-wrap
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 anymatch
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 archy
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 arr-diff
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 arr-flatten
drwxr-xr-x 5 xxx wheel 170B Nov 18 18:41 array-differ
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 array-filter
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 array-map
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 array-reduce
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 array-slice
drwxr-xr-x 5 xxx wheel 170B Nov 18 18:41 array-uniq
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 array-unique
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 arrify
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 asn1.js
drwxr-xr-x 10 xxx wheel 340B Nov 18 18:41 assert
drwxr-xr-x 10 xxx wheel 340B Nov 18 18:41 ast-types
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 astw
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 async-each
drwxr-xr-x 11 xxx wheel 374B Nov 18 18:41 balanced-match
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 base62
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 base64-js
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 beeper
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 binary-extensions
drwxr-xr-x 10 xxx wheel 340B Nov 18 18:41 bn.js
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 brace-expansion
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 braces
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 brorand
drwxr-xr-x 13 xxx wheel 442B Nov 18 18:41 browser-pack
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 browser-resolve
drwxr-xr-x 12 xxx wheel 408B Nov 18 18:41 browserify
drwxr-xr-x 17 xxx wheel 578B Nov 18 18:41 browserify-aes
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 browserify-cipher
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 browserify-des
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 browserify-rsa
drwxr-xr-x 16 xxx wheel 544B Nov 18 18:41 browserify-sign
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 browserify-zlib
drwxr-xr-x 11 xxx wheel 374B Nov 18 18:41 buffer
drwxr-xr-x 11 xxx wheel 374B Nov 18 18:41 buffer-xor
Any hint on this? Is my NPM broken? Or I did not write a package.json
in a correct way.
No there's nothing wrong, NPM now installs all dependencies to the root modules folder unless there is a version conflict. All those other modules you are seeing are dependencies of the modules you installed.
From the NPM 3.0.0 release notes:
Your dependencies will now be installed maximally flat. Insofar as is possible, all of your dependencies, and their dependencies, and THEIR dependencies will be installed in your project's node_modules folder with no nesting. You'll only see modules nested underneath one another when two (or more) modules have conflicting dependencies.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With