Netlify部署卡住无法发布 React项目本地正常仅线上部署报错
问题根因
- Netlify构建命令配置错误:你当前填的
npm start --force是React开发环境的本地服务启动命令,执行后会一直挂起进程等待热更新,不会生成生产环境部署用的静态产物,最终触发Netlify的构建时长上限,报Build exceeded maximum allowed runtime错误。 - 最后出现的
ENOENT: no such file or directory, open '/opt/build/repo/src/index.js错误是构建超时被平台强制中断时,文件读写操作被强行终止导致的衍生报错,不是根本问题。 - 本地运行
yarn start正常是符合预期的,该命令本身就是用来启动本地开发服务的,和Netlify需要的生产构建逻辑完全不同。
修复方案
- 打开Netlify对应项目的后台,进入「站点设置」-「构建与部署」-「构建设置」页面
- 将**Build command(构建命令)**的取值从
npm start --force修改为npm run build(如果你的项目包管理工具用yarn,就改成yarn build) - 将**Publish directory(发布目录)**的取值设置为
build,React项目执行build命令后生成的可部署静态产物默认都存在这个目录下 - 保存配置后重新触发部署即可。
日志中的eslint警告不会阻塞构建成功,后续可以按需修复:删除未引用的变量、将==替换为===、给target="_blank"的链接补充rel="noreferrer"属性、补全useEffect的依赖项即可。
内容的提问来源于stack exchange,提问作者AlejandroV
相关产品推荐
相关产品推荐

