Laravel 8中安装React时执行npm run dev报错的问题求助
解决Laravel 8中React脚手架
npm run dev报错问题 我来帮你搞定这个npm run dev的报错问题,从你给出的日志来看,核心原因是你的Node.js版本(13.1.0)和所需的依赖包(postcss、nanoid)版本不兼容:
- postcss@8.2.8要求Node版本为
^10 || ^12 || >=14,你的13.1.0不在这个范围内 - nanoid@3.1.22要求Node版本为
^10 || ^12 || ^13.7 || ^14 || >=15.0.1,你的13.1.0低于最低要求的13.7版本
下面给你两种解决方案,优先推荐第一种:
方案1:升级Node.js到LTS版本(推荐)
Node.js 13.x已经是停止维护的版本了,升级到长期支持的LTS版本不仅能解决当前问题,还能避免后续更多的兼容坑:
- 如果你用
nvm(Node版本管理器),直接执行以下命令安装并切换到最新LTS版本:nvm install --lts nvm use --lts - 如果没有用nvm,直接下载对应系统的Node.js LTS版本安装包进行升级即可
- 升级完成后,清理项目里的旧依赖缓存:
rm -rf node_modules package-lock.json - 重新安装依赖:
npm install - 最后运行
npm run dev,应该就能正常编译React脚手架了
方案2:降级依赖版本(临时应急方案)
如果暂时不想升级Node,可以修改package.json里的依赖版本,适配当前的13.1.0:
- 打开项目根目录的
package.json文件 - 在
devDependencies中,把postcss的版本改为^7.0.35(这个版本支持Node 6+),把nanoid的版本改为^3.1.20(支持Node 10+) - 清理旧依赖:
rm -rf node_modules package-lock.json - 重新安装依赖:
npm install - 再次执行
npm run dev测试
额外检查点
确认你的webpack.mix.js文件已经正确配置了React编译,应该包含.react()方法:
mix.js('resources/js/app.js', 'public/js') .react() .sass('resources/sass/app.scss', 'public/css');
内容的提问来源于stack exchange,提问作者Kaleem Shoukat
相关产品推荐
相关产品推荐

