You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub Action部署React应用至DigitalOcean Droplet时npm build报错

问题原因

GitHub Action的每个run步骤都是独立的shell进程,执行cd frontend后,该步骤的shell结束,后续步骤会自动回到仓库根目录。因此执行npm run build时,实际是在根目录下运行,而根目录的package.json未配置build脚本,导致报错。

解决方案

有两种可行的修复方式:

方式一:合并命令到同一个shell

将目录切换、依赖安装和构建命令放在同一个run步骤中,确保在同一个shell环境下执行:

# 替换原有的cd、npm i、npm run build步骤
- run: |
    cd frontend
    npm i
    npm run build

也可以用&&串联命令:

- run: cd frontend && npm i && npm run build

方式二:指定工作目录

使用working-directory参数,给需要在frontend目录执行的步骤指定工作路径:

# 替换原有的cd、npm i、npm run build步骤
- name: Install frontend dependencies
  run: npm i
  working-directory: ./frontend
- name: Build React application
  run: npm run build
  working-directory: ./frontend

修改后,npm run build会在包含正确package.json的frontend目录下执行,即可找到build脚本完成构建。

内容的提问来源于stack exchange,提问作者Jonh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 17:15:45