0

我有一个图书馆,它有一个peerDependency. 为了能够在图书馆上工作,我还将它列为devDependency

{
  "peerDependencies": {
    "foo": "^3.0 || ^4.0"
  },
  "devDependency": {
    "foo": "^4.0"
  }
}

我收到消费者的报告说,即使他们已经安装了foo@^3.0,我的包在拉foo@^4.0,所以现在他们的项目有 3 和 4 的混合。

我的假设是,由于foo在对等方上声明,它不会为消费者项目安装,但情况似乎并非如此。

我们已经考虑--prod在消费者项目上添加标志,但这意味着我们需要强制他们使用它:“为了使用我们的库,您需要安装 --prod 或冒着混合使用这两个包的风险”我'不确定这是最好的方法。

我错过了什么,有没有办法让我的库在消费者运行安装时不提取在 peerDependenceis 上声明的 devDependencies?

如果有帮助,我们将使用pnpm作为我们的包管理器

4

0 回答 0