【发布时间】:2021-11-14 06:06:43
【问题描述】:
我的应用程序依赖于 npm 包 ajv-keywords 和 @apideck/better-ajv-errors,它们又依赖于包 ajv,但版本不同,如下面的错误所示。
npm ERR! peer dep missing: ajv@^6.9.1, required by ajv-keywords@3.5.2
npm ERR! peer dep missing: ajv@>=8, required by @apideck/better-ajv-errors@0.2.5
我尝试过的解决方案没有效果 -
- 安装并执行
npm-install-peers - https://stackoverflow.com/a/56495651/16958085 中提到的解决方案
下图显示了两个包的加载方式-
> npm ls @apideck/better-ajv-errors@0.2.5
`-- my-app@0.1.8
`-- react-scripts@5.0.0-next.37
`-- workbox-webpack-plugin@6.2.4
`-- workbox-build@6.2.4
`-- @apideck/better-ajv-errors@0.2.5
> npm ls ajv-keywords@3.5.2
+-- babel-loader@8.2.2
| `-- schema-utils@2.7.1
| `-- ajv-keywords@3.5.2
+-- my-app@0.1.8
| `-- react-scripts@5.0.0-next.37
| `-- react-dev-utils@12.0.0-next.37
| `-- fork-ts-checker-webpack-plugin@6.0.5
| `-- schema-utils@2.7.0
| `-- ajv-keywords@3.5.2 deduped
`-- webpack@5.53.0
`-- schema-utils@3.1.1
`-- ajv-keywords@3.5.2 deduped
请提出一个合适的解决方案来满足这两个依赖项。
【问题讨论】:
-
你试过在你的npm依赖文件中添加两个版本的ajv
-
npm 不允许我们在 package.json 中添加同一个包的两个版本
标签: npm node-modules