以下是一个例子:在我的项目中
npm ls | grep radium
产生
│ └─┬ radium@0.18.1
├─┬ radium@0.17.2
也就是说,我依赖某个版本的镭和一个包(比如x
),它本身依赖于另一个版本的镭。
运行后
npm update
上述命令产生了:
│ └─┬ radium@0.18.1
├─┬ radium@0.18.1
这不是预期的行为。实际上我必须删除x
并重新安装才能实现此目的:
├─┬ radium@0.18.1
现在我想知道这是不是一个错误,或者我是否有办法确保其他包不会发生这种情况。
答案 0 :(得分:0)
npm dedupe
就是答案
https://docs.npmjs.com/cli/dedupe
“描述
搜索本地包树并尝试通过在树中进一步向上移动依赖关系来简化整体结构,在那里它们可以被多个依赖包更有效地共享。“
此外,较新的npm版本会压缩node_modules文件夹,因此甚至不需要它。请参阅此问题:npm node_modules not being properly nested?