Peer 依赖(Peer Dependencies)详解
Peer 依赖是 npm 包管理中的一种特殊依赖关系,它表示 “我的包需要与另一个包协同工作,但不直接安装它”。核心逻辑是:
“我的包需要运行在某个宿主环境中,这个环境必须提供特定版本的 X 包”
关键特征
特性 说明
不自动安装 npm 不会自动安装 peer 依赖包
版本强约束 要求宿主环境必须安装指定版本的包
防止重复安装 避免多个版本冲突,强制共享同一个实例
典型应用场景 插件、组件库、框架扩展(如 React 组件、Webpack loader)
总结 我开发的依赖需要依靠另外一个依赖 但是这个依赖可能别的依赖也需要已经安装 我不在重复安装 在设置peerDependencies中 要求这个包的版本是多少 且不重复安装
我遇到的问题 包@his/component-high-value-consumables@2.0.3-alpha.4
声明了对@his/plugin-api
的peer依赖为2.x
。项目安装了@his/plugin-api@2.0.5-alpha.5
(一个预发布版本)。
npm v7+ 默认不将预发布版本(如alpha、beta)视为满足2.x
这样的范围(除非显式指定允许预发布版本),因此报错。
解决办法 把@his/plugin-api@2.0.5-alpha.5切换2的正式版本 或者 npm i --force 忽略此依赖