jwe*_*rre 21 node.js npm node-modules npm-install
由于NPM版本3节点模块和依赖项都安装在同一根级别.但是,如果我安装两个依赖于同一模块的两个不同版本的模块呢?例如,如果我安装了async npm i async@2.1.4,这需要lodash版本4.14.0,那么我安装yeoman npm i yo@1.8.5,这需要lodash版本3.2.0,npm如何解决这个冲突?
Dmi*_*eev 13
Npm有一篇很棒的博客文章页面
https://docs.npmjs.com/how-npm-works/npm3
http://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html
小智 11
所有依赖项和内部依赖项都试图在根目录中占有一席之地,node_modules除非存在与相同依赖项但不同版本的冲突。当发生冲突时,它会node_modules在每个需要的依赖项下创建一个子项,并将冲突的内部库推送到其中。
示例:这里,“A”内部依赖于“alpha@v1.0”,“B”依赖于“alpha@v2.0”。当您执行 install A 和 B 时,如下所示:
npm install A
npm install B
node_modules
|_ A
|_ alpha @v1.0
|_ B
| |_ node_modules
| |_ alpha @v2.0
|_ ...
Run Code Online (Sandbox Code Playgroud)
注意:另一个node_modules在主 node_module 内的“B”下创建。
有关更多详细信息:请访问此帖子。