我有一个项目P,它依赖于我们的内部库,比如LIB,它本身依赖于jQuery和依赖于jQuery的另一个模块。 依赖关系图如下所示:
P
|- LIB
|- jquery@1.11.3
|- virtual-keyboard
|- jquery@3.3.1
我按照建议使用npm和bower,在库中使用yarn link
,在项目中使用yarn link LIB
。
我意识到yarn list --pattern jquery
在项目P 中给出了以下结果:
yarn list v1.3.2
├─ @types/jquery@3.3.0
├─ jquery-ui@1.12.1
├─ jquery.cookie@1.4.1
├─ jquery@1.11.3 <--------------- PROBLEMATIC DEPENDENCY
└─ virtual-keyboard@1.28.0
└─ jquery@3.3.1
同时,相同的命令(yarn list --pattern jquery
)在模块LIB 中给出了以下结果:
yarn list v1.3.2
├─ @types/jquery@3.3.0
├─ jquery-ui@1.12.1
├─ jquery.cookie@1.4.1
└─ jquery@3.3.1
尽管有link
,但纱线仍在使用jQuery依赖规范(在上面的代码格式块中突出显示),这是GitHub上的最新提交。在我们的案例中,对GitHub进行未经测试的更改似乎是一个强制性的举措,但我不觉得我们通过更新二级依赖的版本来做任何特别的事情。
是否有办法让纱线实际使用目前正在开发的LIB的package.json文件中指定的依赖项?