npm run build –prod でメモリエラーが発生した

NO IMAGE

ionic で開発をしていて、「npm run build –prod」を実行したら、out of memory エラーが発生しました。
解消方法がわかったので、メモしておきます。

目次

事象

npm run build --prod

を実行したら、以下のエラーが発生しました。

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x1000382c7 node::Abort() [/usr/local/bin/node]
 2: 0x100038498 node::FatalTryCatch::~FatalTryCatch() [/usr/local/bin/node]
 3: 0x10016deeb v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
 ```
ネットで調べてみると、メモリを上げれば治るという情報が多く、 試してみるのですが、うまくいかず。

以下の対応で解消できたので、メモしておきます。

## 確認環境

|   |  バージョン |
| ------------ | ------------ |
|  webpack |   3.11.0, 3.12.0|
|  node |10.14.1   |
|  ionic cli |4.2.1  |
|  macOS |10.14.1   |

## 解消方法

### 追記
optimizeの処理が原因のようで、こちらのコマンドを実行して、 build-optimizerのバージョンを上げることでも解消できました。 こちらの方が、より良い解消方法かなと思いました。

npm install @angular-devkit/build-optimizer@0.6.8
npm install @ionic/app-scripts@3.1.11 ← こちらも念のため、再実行しました。

### はじめに見つけた解決方法

webpack.config.js というファイルを作成し、以下の記載を行う

var useDefaultConfig = require(‘@ionic/app-scripts/config/webpack.config.js’);
module.exports = function () {
let defaultConfig = useDefaultConfig;
defaultConfig[“prod”] = defaultConfig[“dev”];
return defaultConfig;
};

packages.json に、descriptionの上あたりに、configの設定を追加  「./webpack.config.js」のパスを合わせるようにする

“config”: {
“ionic_bundler”: “webpack”,
“ionic_webpack”: “./webpack.config.js”
},
“description”: “An Ionic project”

アプリ開発カテゴリの最新記事