问题描述
假设我要安装A和B两个插件,A和B都依赖同一个C库,都需要用户自己去安装,但是各自依赖的C的大版本不一样,遇到这种问题,应该如何解决?
你期待的结果是什么?实际看到的错误信息又是什么?
我期待能够同时使用两个版本的C。但实际,后安装的C版本会覆盖先安装的C版本。
已解决
悬赏分:20
- 解决时间 2022-01-04 21:32
点赞 0反对 0举报 0
收藏 0
分享 0
回答2
最佳
-
npm 6.9 以后可以使用别名安装同一个包的不同版本。
比方说这样:
npm install demo2@npm:demo@2.0 npm install demo1@npm:demo@1.0
这样 package.json 里就会多出来:
"dependencies": { "demo2": "npm:@demo@2.0", "demo1": "npm:@demo@1.0" }
然后写 require 或 import 的时候就要变成 require('demo2') 这样。
因为你这个 A 跟 B 都是 npm 安装的,那么你就需要去 node_modules 目录底下改它们的源码了。
支持 0 反对 0 举报2022-01-04 07:52
-
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了
支持 0 反对 0 举报2022-01-04 08:40