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

Thi*_*nto 5 yarnpkg yarn-workspaces

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

package.json
packages
  - project A
  - project B
  - project C
Run Code Online (Sandbox Code Playgroud)

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

无论如何,我可以“强制”yarn 在根节点模块中安装所有依赖项吗?

小智 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/