纱线为什么以及何时决定不在工作空间中提升包裹?

问题描述

我正在使用 yarn workspaces 处理一个大型项目。我知道纱线工作区基本上做了两件事

  • 它可以自动执行我们多年前想要共享私有包时必须手动执行的符号链接过程
  • 它将所有类似的包提升到 node_modules 的顶部,以提高效率。

但是,我注意到我的包仍然在它们自己的 node_modules 中包含代码,我不知道为什么。当我制作一个示例 monorepo 应用程序并说我在其中安装 lodash 时,它会直接进入根目录 node_modules

yarn 为什么以及何时决定在包的 node_modules 中安装包?

解决方法

我在 yarn 的 Discords 上找到了答案。 yarn 将始终提升,除非它与另一个版本冲突。