Netlify部署Create React App项目报错react-scripts: not found如何解决?
问题诊断
你的client目录下package.json依赖配置没有问题,已经正确声明了react-scripts@4.0.3依赖。
部署错误的核心原因是项目为嵌套目录结构,Netlify默认的依赖安装逻辑没有覆盖到client子目录:
Netlify执行构建时默认仅在项目根目录安装依赖,你当前的构建命令是先进入client目录再执行打包,但client目录下没有预先安装依赖生成node_modules文件夹,自然找不到react-scripts命令。同时你的构建流程混合使用了yarn和npm两种包管理器,也可能触发锁文件冲突导致依赖安装异常。
解决方案
你可以任选以下一种方案修改:
- 方案1(最简便):修改Netlify构建设置
进入Netlify对应项目的Site settings > Build & deploy > Build settings,做两处修改:- 将
Base directory设置为client - 将
Build command设置为yarn build,Publish directory设置为build
保存后触发重新部署即可。
- 将
- 方案2:保留根目录构建逻辑
在项目根目录的package.json中修改build命令,先安装client目录依赖再执行打包:"scripts": { "build": "cd client && yarn install && yarn build" } - 方案3:统一包管理器
不要混合使用yarn和npm,将你根目录构建脚本中cd client && npm run build改为cd client && yarn build,避免两种包管理器的锁文件冲突导致依赖安装失败。
如果修改后仍然触发错误,可在Netlify部署页面选择Clear cache and deploy site,清理缓存后重新部署即可。
内容的提问来源于stack exchange,提问作者Code_Like_a_Newbie
相关产品推荐
相关产品推荐

