Se han instalado demasiados módulos npm después de ejecutar “npm install”

Mi 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" } } 

Lo extraño es que después de ejecutar “npm install”, además de los módulos enumerados en el campo de dependencias, también se instalan otros módulos, como

 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 

¿Alguna pista sobre esto? ¿Mi NPM está roto? O no escribí un package.json de forma correcta.

No, no hay nada de malo, NPM ahora instala todas las dependencias en la carpeta de módulos raíz a menos que haya un conflicto de versión. Todos los otros módulos que está viendo son dependencias de los módulos que instaló.

De las notas de lanzamiento de NPM 3.0.0 :

Sus dependencias ahora se instalarán máximo plano. En la medida de lo posible, todas sus dependencias y sus dependencias, y las dependencias de THEIR se instalarán en la carpeta node_modules de su proyecto sin anidar. Solo verá módulos nesteds uno debajo del otro cuando dos (o más) módulos tengan dependencias en conflicto.

Espero que la respuesta de Alexander O’Mara sea útil para usted si todavía desea o para aquellos que desean usar dependencias como la versión anterior.

puedes usar

npm install –legacy-bundling

Si siempre quieres usar

npm set legacy-bundling = true

y el uso se puede ejecutar como de costumbre

npm instalar