我有一个现有的项目正在更新为react-scripts@5.0.0
。尝试构建或运行开发服务器导致
TypeError: The 'compilation' argument must be an instance of Compilation
根据建议,这是由于网络包版本冲突,我在node_modules
中发现了以下内容。
node_modules/webpack
node_modules/react-scripts/config/webpack
node_modules/react-scripts/node_modules/.bin/webpack <--- the culprit
node_modules/react-scripts/node_modules/webpack
如果我使用CRA生成一个新的项目,所有的工作都会找到,node_modules看起来像这个
node_modules/webpack
node_modules/react-scripts/config/webpack
删除node_modules/react-scripts/node_modules/
下的额外webpack会使我的项目开始工作,但运行npm安装会使其恢复。
这是从哪里来的?为什么我的项目引入了这一点,而一个新的CRA项目却没有?
更新1
我应该指出,在我的package.json中添加重写并没有起到任何作用。
"overrides": {
"webpack": "5.70.0"
}
从package-lock.json
中删除相应的react-scripts/node_modules/webpack
条目可以清除此问题。