问题描述
看这意思应该是 eslint 和 eslint-loader 版本不匹配。
原因分析
我试图更新其中某一个到指定版本,以使他们匹配。 但更新时依然报类似错误,只是冲突的模块不一样了,比如报 webpack 和 extract-text-webpack-plugin 不匹配。 所以这不单单是模块的问题。应该是 node 的问题。 然后我联想自己刚升级过 node ,就基本确定是 node 的问题了。
解决方案
有很多说这个错误的帖子,他们的错误原因都是升级了太高(比最新的稳定版还要高)版本的 node ,然后他们的解决方案是,降低 node 版本到最新的稳定版。 那我就觉得不应该,因为我现在已经是稳定版,稳定版出现这么多错误,这不合理,所以可能不是 node 的问题。 最后阴差阳错解决了,真实的问题是node 版本和 npm 版本不匹配,我的 npm 之前也升级过。当时用以下代码安装的最新版
$ npm i -g npm
但是我们可以通过以下链接查询,发现 node 的最新稳定版对应的 npm 版本并不是我最新升级的。 nodejs.org/zh-cn/downl… 这样就锁定了真实的问题,解决方案是安装指定版本的 npm。
$ npm i -g npm@6.14.17