为什么pnpm v7为同一个库创建多个示例?

jm81lzqq  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(169)

我正在使用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

字符串

  1. myapp依赖于package 1/package 2/styled-components。
  2. package 1依赖于styled-components。
  3. package 2依赖于package 1/styled-components。
    所有这些都包含在package.json依赖项字段中。
    当我检查/node_modules/.pnpm/文件夹时,我看到为样式化组件生成了2个文件夹。我认为它应该只有一个示例,但显然没有。有人知道为什么pnpm会这样吗?- 谢谢你-谢谢
    PS:我的env是:node: 18.15.0pnpm: 7.29.2 .npmrc:
public-hoist-pattern[]=@types*
dedupe-peer-dependents=true
esolve-peers-from-workspace-root=true


x1c 0d1x的数据

zpf6vheq

zpf6vheq1#

依赖于对等依赖关系的包可能会发生这种情况。如果样式组件在多个项目的依赖项中或在项目的依赖项中,则可能发生在一个地方,它被一组对等依赖项解析,而在另一个地方,它被一组不同的对等依赖项解析。
通常设置auto-install-peers=true(pnpm v8中默认为true)和dedupe-peer-dependents=true可以减少此类重复的数量。
您还可以为true以使用重写强制对等依赖项的相同版本(如果它不是从直接依赖项解析的)。
另外,我看到一个错字在您的设置。最后一个设置从开始就缺少“r”。

相关问题