我正在尝试使用以下操作将我的项目部署到Firebase Hosting:
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
deploy_to_firebase_hosting:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@master
- name: Install Dependencies
run: npm install
- name: Build for production
run: npm run build-prod
- name: Deploy to Firebase
uses: w9jds/firebase-action@master
with:
args: deploy --only hosting
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
在构建生产环境步骤中,操作失败了。我的build-prod
脚本执行的命令是webpack -p --mode production
。
这是此错误的错误消息:
> project-name@1.0.0 build-prod /home/runner/work/project-name/project-name
> webpack -p --mode production
/home/runner/work/project-name/project-name/node_modules/webpack-cli/bin/cli.js:93
throw err;
^
TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
...
我正在研究这个错误,发现人们通过在运行构建之前删除node_modules
来解决它。因此我运行了另一个操作,跳过了npm install
这一步骤。
但是在生成生产版本时,它再次失败,不过这次出现了一个不同但更合理的错误:
> webpack -p --mode production
webpack not installed
Install webpack to start bundling:
$ npm install --save-dev webpack
npm ERR! code ELIFECYCLE
npm ERR! errno 1
如何在 Github Actions 中正确构建生产包?
谢谢!