我正在使用pnpm workspace来管理我的项目。文件夹结构如下所示。
└── my-project/
├── apps/
│ └── myapp/
│ ├── package1
│ ├── package2
│ └── styled-components@5.3.9
├── packages/
│ ├── package1/
│ │ └── styled-components@5.3.9
│ └── package2/
│ ├── package1
│ └── styled-components@5.3.9
├── package.json
└── pnpm-workspace.yaml
字符串
- myapp依赖于package 1/package 2/styled-components。
- package 1依赖于styled-components。
- package 2依赖于package 1/styled-components。
所有这些都包含在package.json依赖项字段中。
当我检查/node_modules/.pnpm/文件夹时,我看到为样式化组件生成了2个文件夹。我认为它应该只有一个示例,但显然没有。有人知道为什么pnpm会这样吗?- 谢谢你-谢谢
PS:我的env是:node: 18.15.0
pnpm: 7.29.2
.npmrc:
public-hoist-pattern[]=@types*
dedupe-peer-dependents=true
esolve-peers-from-workspace-root=true
型
x1c 0d1x的数据
1条答案
按热度按时间zpf6vheq1#
依赖于对等依赖关系的包可能会发生这种情况。如果样式组件在多个项目的依赖项中或在项目的依赖项中,则可能发生在一个地方,它被一组对等依赖项解析,而在另一个地方,它被一组不同的对等依赖项解析。
通常设置
auto-install-peers=true
(pnpm v8中默认为true)和dedupe-peer-dependents=true
可以减少此类重复的数量。您还可以为true以使用重写强制对等依赖项的相同版本(如果它不是从直接依赖项解析的)。
另外,我看到一个错字在您的设置。最后一个设置从开始就缺少“r”。