yarnpkg - 纱线工作区依赖安装位置问题
问题描述
我有一个使用纱线工作区的项目。项目结构如下:
package.json
packages
- project A
- project B
- project C
当我运行yarn install
时,包安装在项目根节点模块中。最近我添加了另一个项目(D)并运行了yarn install
. 对于项目 D,其中一些依赖项安装在其中,projectD/node_modules
因此我在根目录中有一些依赖项,在 projectD 中有一些依赖项,当我运行项目时会导致错误。
无论如何我可以“强制”纱线在根节点模块中安装所有依赖项吗?
解决方案
我自己也遇到过这个问题。听起来您在 projectD 的依赖项和其他项目的依赖项之间存在版本不匹配。您提到的错误可能会确定依赖项是什么(因为我猜它会给出“无法解析模块”错误),否则您可能会发现 projectD 的 node_modules 文件夹中安装的内容会识别它。
一旦确定,我会检查您的 yarn.lock 文件并找出哪些包/s 依赖于不匹配的版本。然后您可能会发现更新具有旧版本的软件包可以解决您的问题,或者您可能决定使用nohoist
工作区选项更好
看:
https://dev.to/michalbryxi/share-common-code-with-yarn-workspaces-5g29 https://yarnpkg.com/blog/2018/02/15/nohoist/
推荐阅读
- javascript - 使用JS在页面脚本中进行操作
- ubuntu - 虚拟机oracle问题无法启动
- javascript - 画布线性渐变采用另一个输入类型颜色字段的值
- php - 在另一个 foreach 中提高 foreach 的性能
- php - php中某些标点符号之前的粗体部分
- java - 通过 Java 中的 MP3 源流式传输音频
- html - 从带有事件代码的 HTML 下拉列表(SELECT 标记和 OPTIONS 标记)中选择的 VBA 代码
- java - 初始化应用程序上下文后,如何在 Spring Boot 中连接到多个数据源?
- dataframe - 如何验证 Pyspark 中列的日期格式?
- java - Android 文件系统 - 即使我有权限也无法写入文件