从Linux迁移至Windows11后运行React项目报错无法解析react/jsx-dev-runtime
问题原因
你遇到的报错是因为当前使用的React 16.13.1版本不支持React 17才推出的自动JSX运行时转换特性,但你的编译环境默认启用了该特性,导致无法找到对应的react/jsx-dev-runtime依赖模块。你之前执行的全局安装react-scripts、错误的npm清除命令无法解决版本不匹配的核心问题,正确的处理步骤如下:
解决步骤
- 先清理旧的依赖缓存和冲突项
删除项目根目录下的node_modules文件夹、package-lock.json文件,若存在yarn.lock也一并删除。同时执行npm uninstall -g react-scripts卸载全局安装的react-scripts,避免和本地项目版本冲突。 - 方案1:升级依赖适配新特性(推荐)
直接升级React、ReactDOM和react-scripts到兼容版本,执行命令:
安装完成后执行npm install react@^17.0.2 react-dom@^17.0.2 react-scripts@^5.0.1npm start即可正常启动项目,该方案还可以支持不需要在每个JSX文件顶部手动导入React的语法特性。 - 方案2:保留现有React 16版本
若不需要升级React版本,只需在项目根目录新建.env文件,添加如下配置即可禁用新的JSX转换规则:
配置完成后重新执行DISABLE_NEW_JSX_TRANSFORM=truenpm start即可。
内容的提问来源于stack exchange,提问作者Kaizen
相关产品推荐
相关产品推荐

