问题描述与处理策略
1、问题描述
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm ERR! Cannot read properties of null (reading 'matches')
# 翻译
npm 警告 ERESOLVE 覆盖对等依赖
...(重复多次)
npm 错误 无法读取 null 的属性(读取 'matches')
2、问题原因
npm WARN ERESOLVE overriding peer dependency
- 项目中安装的某些包依赖了不同版本的对等依赖(peer dependency),导致冲突,但 NPM 自动覆盖了这些依赖(自动选择一个合适的版本来解决冲突)
npm ERR! Cannot read properties of null (reading 'matches')
- 表示 NPM 在执行操作时,尝试访问一个对象的 matches 属性,但是此对象为 null,这可能是
node_modules
目录或package-lock.json
损坏导致
3、处理策略
(1)清理和重新安装依赖
-
删除
node_modules
目录与package-lock.json
文件 -
重新安装依赖
npm install
(2)检查NPM 版本
-
确保 NPM 版本与
Node.js
版本兼容的,通过npm --version
查看当前版本 -
通过
npm install -g npm@【版本号】
更新 NPM
补充学习
1、ERESOLVE
-
ERESOLVE 是 NPM 7 及以上版本引入的一个错误类型,全称 Error Resolve
-
ERESOLVE 表示 NPM 在解析依赖时遇到冲突
-
ERESOLVE 错误通常与对等依赖(peer dependency) 的版本冲突有关
2、对等依赖(peer dependency)
-
对等依赖是指一个 NPM 包所期望的、与之一起安装的另一个 NPM 包的版本
-
对等依赖不会由 NPM 自动安装,需要由项目的开发者在
package.json
文件中手动声明并安装 -
例如,react 和 react-dom 通常是对等依赖,它们的版本需要严格匹配