问题描述
假设我要安装A和B两个插件,A和B都依赖同一个C库,都需要用户自己去安装,但是各自依赖的C的大版本不一样,遇到这种问题,应该如何解决?
你期待的结果是什么?实际看到的错误信息又是什么?
我期待能够同时使用两个版本的C。但实际,后安装的C版本会覆盖先安装的C版本。
假设我要安装A和B两个插件,A和B都依赖同一个C库,都需要用户自己去安装,但是各自依赖的C的大版本不一样,遇到这种问题,应该如何解决?
我期待能够同时使用两个版本的C。但实际,后安装的C版本会覆盖先安装的C版本。
1、升级npm到7,npm install -g npm@7
2、检查packag-lock.json的依赖
{
"node_modules/A/node_modules/C": {
"version": "7.2.0",
},
"node_modules/B/node_modules/C": {
"version": "8.10.0",
}
}
如果安装后的包描述文件如上,则OK了
13 回答13.1k 阅读
8 回答3k 阅读
3 回答1.5k 阅读✓ 已解决
2 回答5.3k 阅读✓ 已解决
5 回答1.6k 阅读
3 回答2.4k 阅读✓ 已解决
5 回答1.9k 阅读✓ 已解决
npm 6.9 以后可以使用别名安装同一个包的不同版本。
比方说这样:
这样
package.json
里就会多出来:然后写
require
或import
的时候就要变成require('demo2')
这样。因为你这个 A 跟 B 都是 npm 安装的,那么你就需要去 node_modules 目录底下改它们的源码了。