运行npm install –save-dev不仅安装依赖项,还安装其他一些文件夹
我在我的项目中使用了npm install --save-dev
gulp来安装gulp,但是不仅安装了gulp,还安装了一堆其他文件夹。 我已经结束了超过100个节点模块。 我怎样才能避免这种情况,只安装我想要为我的项目安装的模块?
如果你看看gulp
包里的package.json
,你会看到gulp
所有依赖:
"dependencies": { "archy": "^1.0.0", "chalk": "^1.0.0", "deprecated": "^0.0.1", "gulp-util": "^3.0.0", "interpret": "^1.0.0", "liftoff": "^2.1.0", "minimist": "^1.1.0", "orchestrator": "^0.3.0", "pretty-hrtime": "^1.0.0", "semver": "^4.1.0", "tildify": "^1.0.0", "v8flags": "^2.0.2", "vinyl-fs": "^0.3.0" }
当安装一个包时, npm
也会recursion地安装该包的依赖关系和依赖关系的依赖关系。 看看这里 :
对于这个包{dep}结构:A {B,C},B {C},C {D},这个algorithm产生:
一个
+ – B
+ – C
+ – D
所以A
是你的大包包,这取决于B
和B
取决于C
也安装。
你可以使用use npm install --production
来避免为你的软件包安装dev依赖项。 您的插件所依赖的软件包的开发依赖不会被安装。 从这里 :
模块目录中的一个正常的npm安装应该为您提供当前模块的所有(dependencies + devDependencies),而不需要安装所有子模块的devDependencies。