纱线工作区依赖性安装位置问题

时间:2019-08-23 16:54:17

标签: yarnpkg yarn-workspaces

我有一个使用纱线工作区的项目。该项目的结构为:

package.json
packages
  - project A
  - project B
  - project C

当我运行yarn install时,这些软件包将安装在项目根node_modules中。最近,我添加了另一个项目(D)并运行了yarn install。对于项目D,其中的一些依赖项安装在projectD/node_modules中,因此我在根目录中有一些依赖项,在projectD中也有一些依赖项,在运行项目时会导致错误。

无论如何,我是否可以“强制” yarn来将所有依赖项安装在根node_modules中?

1 个答案:

答案 0 :(得分:0)

我自己遇到了这个问题。听起来您在projectD的依赖项和其他项目的依赖项之间版本不匹配。您提到的错误可能会确定依赖项是什么(因为我猜这将产生“无法解析模块”错误),否则,您可能会发现projectD的node_modules文件夹中安装的内容将对其进行识别。

确定后,我将遍历您的yarn.lock文件,并确定哪个软件包依赖于不匹配的版本。然后,您可能会发现更新具有较旧版本的软件包可以解决您的问题,或者您可以决定最好使用工作区的nohoist选项

请参阅:

https://dev.to/michalbryxi/share-common-code-with-yarn-workspaces-5g29 https://yarnpkg.com/blog/2018/02/15/nohoist/