已安装React15.4仍报UNMET PEER DEPENDENCY告警及npm输出符号含义咨询
UNMET PEER DEPENDENCY告警说明
同级依赖(Peer Dependency)是npm用于插件类包的依赖声明规则:插件本身是为某个核心库开发的扩展能力,会要求宿主项目必须安装指定版本范围的核心库,避免核心库版本不兼容导致插件运行故障。npm不会自动安装同级依赖,只会在安装结束后检查版本匹配度,不匹配就抛出该告警。
React告警原因
你虽然在项目中显式安装了react@15.4.0,但项目依赖列表中存在某个包声明的react同级依赖范围不包含15.4.0版本:比如你安装的react-draft-wysiwyg@1.14.4、react-bootstrap@0.31.0这类react生态组件,都有可能声明了其他范围的react版本要求。你可以执行npm ls react命令,查看所有依赖包声明的react版本要求,就能定位到不匹配的包。
popper.js告警原因
popper.js是用于浮层(下拉框、弹窗、提示框等)定位的工具库,你项目中的某个UI组件包(比如带浮层能力的react组件)将popper.js@^1.16.0声明为同级依赖,而你的package.json中没有显式安装符合该版本范围的popper.js,因此触发告警。你可以执行npm install popper.js@^1.16.0 --save直接安装对应版本解决该告警。
依赖输出前缀符号含义
你看到的符号是npm依赖树输出的层级标识:
+代表当前依赖不是所在层级的最后一个项,后续还有同层级的其他依赖`代表当前依赖是所在层级的最后一个项,后续无同层级依赖
内容的提问来源于stack exchange,提问作者morne
相关产品推荐
相关产品推荐

