使用yarn start启动新建React应用报ERR_PACKAGE_PATH_NOT_EXPORTED错误如何解决
React项目yarn start启动报错解决办法
错误核心原因
该报错是Node.js 17+ 版本与旧版react-scripts依赖的postcss版本不兼容导致,Node 17对ES模块导出规则做了更严格的校验,旧版postcss的package.json中未声明./lib/tokenize的导出路径,因此触发拦截。
可行解决方案
方案1:降级Node.js到长期支持版本(最稳定,推荐)
- 卸载当前安装的Node.js 17.0.1,安装16.x LTS版本的Node.js,该版本为长期维护版,和绝大多数前端工具链兼容性最优
- 安装完成后删除项目根目录下的
node_modules文件夹和yarn.lock文件 - 重新执行
yarn install安装依赖,完成后运行yarn start即可正常启动
方案2:升级react-scripts版本(无需修改Node环境)
- 低于5.0.0版本的
react-scripts依赖的postcss版本存在兼容问题,可直接升级到5.x以上版本解决:- 删除项目根目录下的
node_modules文件夹和yarn.lock文件 - 执行
yarn add react-scripts@latest安装最新版react-scripts - 安装完成后执行
yarn start测试启动即可
- 删除项目根目录下的
方案3:临时添加启动参数绕过校验(应急使用,不推荐长期用)
- 不需要修改依赖或Node版本,只需在启动命令前添加参数绕过规则校验:
- Windows cmd环境执行:
set NODE_OPTIONS=--openssl-legacy-provider && yarn start - Windows PowerShell环境执行:
$env:NODE_OPTIONS="--openssl-legacy-provider"; yarn start - Mac/Linux环境执行:
NODE_OPTIONS=--openssl-legacy-provider yarn start
- Windows cmd环境执行:
内容的提问来源于stack exchange,提问作者Dms Malith Disanayake
相关产品推荐
相关产品推荐

