GitHub Actions部署React应用到Surge.sh提示./build目录不存在如何解决
问题排查与解决方法
错误核心原因
你遇到的No such file or directory: ./build报错,本质是构建步骤没有成功生成打包后的产物目录,根因是构建命令配置错误。
排查步骤
- 检查构建命令有效性
你当前配置的构建命令是npm build,npm本身没有原生的build命令,React项目的构建操作需要执行package.json中定义的脚本,必须加run参数,正确写法为npm run build。
另外你前面的依赖是通过yarn安装的,为了避免包管理器不一致导致的异常,更推荐统一用yarn执行构建,命令为yarn build。 - 验证构建产物是否生成
可以在构建步骤后新增目录校验步骤,确认build目录是否正常生成:
如果执行后当前目录下没有build文件夹,说明构建操作未正常执行,优先回查构建命令、依赖安装步骤是否有隐藏报错。- name: 校验构建产物 run: ls -la ./ - 核对产物输出路径配置
如果修改构建命令后仍然报错,检查项目package.json中scripts下的build配置,确认产物输出目录是否为build,部分自定义配置的项目可能会将输出目录设为dist,需要同步修改surge命令中的路径为对应目录名。
修正后的配置示例
只需要修改构建步骤的run命令即可:
- name: creating build run: yarn build
内容的提问来源于stack exchange,提问作者Wajid Hussain
相关产品推荐
相关产品推荐

