React项目运行报错:无法解析'react/lib/React'求助
解决React升级到16.2.0后react-dom找不到
react/lib/React的问题 这个问题我帮不少开发者排查过,核心原因其实很直白——你只升级了React,但没同步升级react-dom,导致两个包的版本不匹配!React从16.x版本开始,react和react-dom的内部依赖绑定得非常紧密,版本必须完全一致才能正常工作。
下面是具体的解决步骤:
先卸载当前项目里的react和react-dom:
# 使用npm的话 npm uninstall react react-dom # 如果用yarn的话 yarn remove react react-dom重新安装同版本的react和react-dom(指定16.2.0版本):
# npm npm install react@16.2.0 react-dom@16.2.0 # yarn yarn add react@16.2.0 react-dom@16.2.0清理包管理工具的缓存,避免残留的旧版本文件干扰:
# npm npm cache clean --force # yarn yarn cache clean最后重启你的开发服务器!这一步很容易被忽略,但很多时候重启后问题就彻底消失了。
额外排查点
如果按照上面的步骤做完还是有问题,可以检查一下:
- 打开项目根目录的
package.json,确认react和react-dom的版本号完全一致,没有一高一低的情况。 - 用命令查看依赖树,看看有没有其他第三方依赖强制引入了不同版本的React:
# npm npm ls react # yarn yarn list react
如果发现有冲突的版本,可以考虑升级那个第三方依赖,或者用resolutions(yarn)或overrides(npm)来强制统一React版本。
内容的提问来源于stack exchange,提问作者Sahand
相关产品推荐
相关产品推荐

