如何使纱线检测链接依赖项上的依赖项版本的更改

时间:2018-03-07 14:31:52

标签: yarnpkg

我有一个项目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文件中指定的依赖项?

0 个答案:

没有答案