我有一个图书馆,它有一个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作为我们的包管理器