如果npm安装的两个插件依赖同一个库,暴露给用户安装,但是版本不一样,要如何解决?

问题描述

假设我要安装A和B两个插件,A和B都依赖同一个C库,都需要用户自己去安装,但是各自依赖的C的大版本不一样,遇到这种问题,应该如何解决?

你期待的结果是什么?实际看到的错误信息又是什么?

我期待能够同时使用两个版本的C。但实际,后安装的C版本会覆盖先安装的C版本。

阅读 240
评论
    1 个回答

    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"
    }

    然后写 requireimport 的时候就要变成 require('demo2') 这样。

    因为你这个 A 跟 B 都是 npm 安装的,那么你就需要去 node_modules 目录底下改它们的源码了。

      撰写回答

      登录后参与交流、获取后续更新提醒