gpt4 book ai didi

javascript - 无法使用 webpack 在 GitHub Actions 中为生产构建

转载 作者:行者123 更新时间:2023-12-04 04:20:38 24 4
gpt4 key购买 nike

我正在尝试使用以下操作将我的项目部署到 Firebase 托管:

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 来解决它在运行构建之前。所以我运行了另一个 Action ,没有 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 中构建生产包的正确方法是什么?

谢谢!

最佳答案

在尝试使用 GitHub 操作来构建和部署生产 Docker 容器时,我遇到了完全相同的问题。

事实证明,我这边的问题是由于 Webpack 在构建时无法访问任何环境变量(这是我的 Webpack 配置所需的),这导致它出现与您在上面收到的相同错误的错误。

为了解决这个问题,我在构建命令中添加了以下行:

--env.NODE_ENV=production

例如,我由容器调用的最终构建命令是:
node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js --env.NODE_ENV=production --progress --config webpack.prod.js

希望这可以帮助!

关于javascript - 无法使用 webpack 在 GitHub Actions 中为生产构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59447822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com