yarnpkg - yarn workspaces 依赖安装位置问题

标签 yarnpkg yarn-workspaces

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

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

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

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

最佳答案

我自己也遇到过这个问题。听起来您在 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/

关于yarnpkg - yarn workspaces 依赖安装位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57630347/

相关文章:

TypeScript 尝试使用 Yarn Workspaces 编译兄弟文件夹的 node_modules

node.js - 如何使用带有 typescript 和 out 文件夹的 yarn 工作区?

angular - NPM 安装的应用程序(例如文件 C :\Users\name\AppData\Roaming\npm\ng. ps1)无法加载,因为在此系统上禁用了运行脚本

node.js - 我已经用brew更新了yarn,但我无法再运行yarn命令

node.js - 使用 Yarn 依赖项为 Node 应用程序构建 Docker 镜像

javascript - 如何运行 OpenAPI -> GraphQL 转换?

webpack - 强制 yarn 将某些模块安装到给定的工作区,而不是将它们移动到 monorepo 的共享 node_modules?

javascript - yarn 工作区和 lerna 导致无效的 Hook 调用

reactjs - 在故事书 monorepo 中提供静态 Assets

reactjs - 切换到 npm 进行 create-react-app