我的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"
}
}
奇怪的是,在执行" npm install"之后,除了依赖项字段中列出的模块之外,还安装了其他模块,例如
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
有什么暗示吗?我的NPM坏了吗?或者我没有以正确的方式写package.json
。
答案 0 :(得分:16)
没有没有错,NPM现在将所有依赖项安装到根模块文件夹,除非存在版本冲突。您看到的所有其他模块都是您安装的模块的依赖项。
您的依赖项现在将最大程度地安装。在可能的情况下,所有依赖项及其依赖项和它们的依赖项都将安装在项目的node_modules文件夹中,而不进行嵌套。当两个(或更多)模块具有冲突的依赖关系时,您只会看到彼此嵌套的模块。
答案 1 :(得分:1)
我希望Alexander O' Mara回答对您有所帮助如果您仍然想要或者想要使用旧版本等依赖项的人
你可以使用
npm install --legacy-bundling
如果您一直想使用
npm set legacy-bundling = true
并且使用可以照常运行
npm install