LoginSignup
1
0

More than 3 years have passed since last update.

Angular9 + Ionic5 のプロジェクトがbuildに失敗するようになった場合に対処したこと。

Posted at

Angular9 + Ionic5のプロジェクトで、これまでng buildでビルドができていたのに、
どこかのタイミングで突然エラーがでてビルドができなくなりました。

$ npm run build

> foobar-app@0.0.1 build /Users/me/foobar-app
> ng build

Generating ES5 bundles for differential loading...
An unhandled exception occurred: Call retries were exceeded
See "/private/var/folders/dq/krc2_m3n1l7dz267pz551gd00000gn/T/ng-4UuNHR/angular-errors.log" for further details.

ログを見てみてもあまり状況がわかりません…。

[error] Error: Call retries were exceeded
    at ChildProcessWorker.initialize (/Users/me/foobar-app/node_modules/jest-worker/build/workers/ChildProcessWorker.js:230:21)
    at ChildProcessWorker._onExit (/Users/me/foobar-app/node_modules/jest-worker/build/workers/ChildProcessWorker.js:307:12)
    at ChildProcess.emit (events.js:198:13)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)

StackOverFlowにて解決策を発見

ここにたどり着きました。
どうやら使用するメモリ量を増やしてあげれば回避できるようです。

ビルド時にnode --max_old_space_size=4096 node_modules/@angular/cli/bin/ng buildと実行すればよいようです。

手元ではpackage.jsonにかかれているコマンドを修正しました。

  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build",

まとめ

プロジェクトで使用するコードが大きくなってくると発生するのでしょうか。
あまり大きいアプリケーションコードだとダウンロードにも時間が掛かってしまうので、
メモリにやさしくビルドができるようにも、余計なコードを含めないように、
コンパクトな実装をしていきたいですね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0