Heroku 最近开始在 Webpack 构建期间给出部署错误“npm ERR!code ELIFECYCLE”
Posted
技术标签:
【中文标题】Heroku 最近开始在 Webpack 构建期间给出部署错误“npm ERR!code ELIFECYCLE”【英文标题】:Heroku recently started giving deploy error "npm ERR! code ELIFECYCLE" during Webpack build 【发布时间】:2020-04-06 05:35:44 【问题描述】:我们的部署代码没有改变,我们的 Webpack 版本(“webpack”:“^4.41.0”)没有改变,并且在其他(非 Heroku)服务器上部署仍然成功。
但是,就在几天前,Heroku deploy 停止工作并出现此错误:
2878 <s> [webpack.Progress] 70% building 4114/4114 modules 0 active
2879 npm ERR! code ELIFECYCLE
2880 npm ERR! errno 1
2881 npm ERR! client@0.1.0 build-heroku: 'npm run clean && webpack --progress --bail --env dist -p'
2882 npm ERR! Exit status 1
2883 npm ERR!
2884 npm ERR! Failed at the client@0.1.0 build-heroku script.
我们的 /package.json 有:
"heroku-postbuild": "cd frontend && npm install --only=dev && npm install && npm run build"
我们的 /frontend/package.json 有:
“脚本”:
"clean": "rimraf dist/*",
"build": "npm run clean && webpack --progress --bail --env dist -p && rm -r prod 2>/dev/null || : && mv dist prod"
那么为什么现在 Heroku 中的 Webpack 构建只达到 70% 呢?有其他人见过这种情况吗?
【问题讨论】:
【参考方案1】:原来我们没有完整阅读日志。中间有错误,最后没有出现。我们不得不在原始日志文件中搜索“error”这个词。
例如:
ModuleNotFoundError: Module not found: Error: Can't resolve 'dns' in '/tmp/build_e65fff75f8ffc7b45670e320e578bd35/frontend/node_modules/mongodb/lib/core'
解决方案涉及几个步骤:
-
安装一些模块(即 npm install x)
将此块添加到 Webpack 配置中:
节点: fs:'空', 净:'空', tls:'空', dns:“空”
停止使用 .gitlab-ci.yml 文件中的 ruby 图像:
【讨论】:
以上是关于Heroku 最近开始在 Webpack 构建期间给出部署错误“npm ERR!code ELIFECYCLE”的主要内容,如果未能解决你的问题,请参考以下文章
Heroku - git push/deployment 期间出错,此代码的相同版本已经构建
在 Heroku 上部署 AngularJs + webpack + gulp