【发布时间】:2022-02-02 18:39:45
【问题描述】:
假设我有旧代码库与一些旧包一起使用:
"mobx": "5.15.4",
"mobx-react": "6.1.8",
在开发一些新的实验性功能时,我想使用这些软件包的更新版本,但也必须让遗留系统处于工作状态。因此,我为较新版本的包添加别名,以便可以将它们与旧版本一起使用:
"@new/mobx": "npm:mobx@^6.3.13"
"@new/mobx-react": "npm:mobx-react@^7.2.1"
但是 mobx-react 使用 mobx 作为对等依赖项。显然,问题在于@new/mobx-react 正在观看旧的mobx 版本,并且预计应该有6+ 版本的mobx。
有没有办法手动解决 @new/mobx-react 的对等依赖关系,所以它会监视 @new/mobx 而不仅仅是 mobx?或者,也许有一种方法可以隐式地为@new/mobx-react 安装对等部门,并且不会覆盖旧的mobx 版本?
【问题讨论】:
-
我一直在想同样的事情,但我认为我们需要一种将链接包中的依赖项更改为别名的方法;换句话说,如果我们有一个需要 package@2 的依赖项 #1 和需要 package@3 的依赖项 #2,即使我们创建别名,依赖项 #1 和 #2 都会查找 package@
而不是别名。我认为我们能做的最好的事情就是分叉包,将依赖项更改为别名并改用分叉。这样我们应该能够使用我们的别名。希望这是有道理的!
标签: npm npm-install