问题描述:
这是依赖版本问题,包依赖版本不兼容。
我的webpack是3.12.0版本,版本比较低,所以我的解决思路是:要么提升webpack版本,要么降低各依赖的版本将就webpack@3.12.0。因为项目要用Webpack 3,所以我选择降低依赖版本,解决问题。那降到哪个版本才合适呢?这里我们通过npm view
命令来帮助我们寻找合适的版本。
解决办法:
第一步:
输入 npm view stylus-loader versions 命令
,这会告诉我们stylus-loader一共有哪些版本:
第二步:
接着输入npm view stylus-loader@7.1.0 peerDependencies
,可以看到确实stylus-loader 7.1.0依赖了webpack 5.0.0
第三步:
为了能找到匹配webpack@3.12.0使用的版本,只能人工逐一排查,用npm view stylus-loader@<版本号> peerDependencies
尝试。最后,发现 stylus-loader 0.4.0合适。
其他的依赖版本与此类似,也是通过逐一尝试找到合适的版本,把所有报错的版本都改对了,问题也就解决了。