结论3:npm会递归的安装一个包的依赖。 假如一个项目中的两个npm包都依赖express,那么这样会将express及整个依赖树安装两遍吗? 观察树可以发现,其中有一些多次的被依赖的包。 但是层级更深的依赖后缀有一个deduped(重复数据删除)的标识。 这意味着npm在安装包的过程中会检查当前是否已经安装过相同的包,如果有,则...
所以,在写自己的插件时,对依赖的限制要尽量宽松,不要绑死到一个确定版本上。由于插件不是我们写的,我们能做的,就是换一个不冲突的版本,比如,把karma-browserify@5.1.1换成karma-browserify@4.4.2,冲突就解决了:{ "name": "test", "version": "1.0.0", "devDependencies": { "gulp-browserify": "^0.5...
大意是:如果依赖(指peer dependencies)的冲突导致出错,则尝试安装另外一个(无冲突的版本)。所以,在写自己的插件时,对依赖的限制要尽量宽松,不要绑死到一个确定版本上。由于插件不是我们写的,我们能做的,就是换一个不冲突的版本,比如,把karma-browserify@5.1.1换成karma-browserify@4.4.2,冲突就解决了:{ "name...