zyp*_*510 8 dependencies npm npm-install
只是想知道,如果有一个具有循环/循环依赖关系的包,npm 会处理吗?如何?我用谷歌搜索但找不到非常有用的结果。
我可以在这里想到两种问题:
相同版本的循环依赖:A->B, B->C,C->A
npm 会像这样构建依赖项吗?(只是我的猜测,没有找到任何实际测试的循环依赖)
A@1.0.0
??? B@1.0.0
??? C@1.0.0
??? A@1.0.0 (deduped)
Run Code Online (Sandbox Code Playgroud)不同版本的循环依赖:A@2.0.0->B, B->C, C->A@^1.0.0, 我什至无法猜测如果存在这样的事情会发生什么?
我强烈反对有循环包依赖性。不仅仅是 npm 是否可以处理这个问题,还有围绕依赖项可能拥有的所有工具。例如,我遇到了一些由循环包依赖项引起的奇怪的 Typescript 构建错误,npm 似乎没问题。也许它没有注意到单声道存储库中的循环,但 Typescript 失败了,并且没有明确的错误说“由于循环依赖而失败”
根据经验,我会说“循环依赖”往往是一个令人讨厌的问题。这不是非黑即白的情况,它往往就像“未定义的行为”,有时还好,有时不太好。
我无法告诉你 npm 是否明确支持循环依赖,但我可以告诉你更重要的是考虑工具是否可以管理循环 npm 包。总的来说,假设不是更安全
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |