我(对我自己)just discovered认为NPM不能像我过去使用的其他软件包管理系统那样工作。我对事物的基本理解是,我的每个依赖项也将具有自己的依赖项(拥有自己的node_modules
文件夹(并且使用npm的最新版本,仅当存在版本冲突时才创建第二个node_modules
文件夹) )
这看起来很整洁,但是我想知道npm如何处理-sub-sub? -依赖冲突。对于无法更好地掌握该语言,我深表歉意,但这就是我的意思。
我想将@foo/bar
的3.0版安装到我的项目中。
第二个包-称它为@second/package
-我要安装@foo/bar
的2.0版。
我现在了解使用NPM如何做到这一点。 @second/package
将拥有其自己的node_modules
文件夹,其版本为@foo/bar
的2.0版>
./node_modules/@foo/bar # version 3.0 ./node_modules/@second/package/node_modules/@foo/bar # version 2.0
但是-
我也想安装@zip/zap
的8.0版。
但是@second/package
要安装@zip/zap
的7.0版。
@foo/bar
的2.0版要安装@zip/zap
的6.0版。
级别./node_modules/@foo/bar # version 3.0 ./node_modules/@zip/zap # version 8.0 ./node_modules/@second/package/node_modules/@foo/bar # version 2.0 ./node_modules/@second/package/node_modules/@zip/zip # version 7.0 # where does version 6.0 of @zip/zap go?
@zip/zap
的6.0版本在哪里结束? npm是否创建third
node_module
文件夹,还是放弃并说无法解决此依赖关系树?还是第三件事?还是我对npm的理解仍然存在缺陷?在我弄清楚如何使用伪造的软件包设置我自己的npm存储库以进行测试之前,我认为最好问一下。
我刚刚(为我自己)发现NPM不能像我过去使用的其他软件包管理系统那样工作。我对事物的基本理解是,我的每个依赖项也都具有...
NPM,令我惊讶的是,只是做正确的事