Q. GrdisomeビルドがJavaScript heap out of memoryエラーになる
公開日:2021年5月27日
A.nswer
メモリー不足が原因なのでメモリ上限を指定します
「JavaScript heap out of memory」は、JavaScriptのプログラムを実行するためのメモリが足りないことが原因で起こるエラーです。
数10ページ程度のGridsomeプロジェクトではあまり起こりませんが、規模の大きいプロジェクトだとビルド時に大容量のメモリを必要とするので、メモリ容量が少ないVPSなどでGridsomeビルドを実行すると遭遇します。
解決策は、ビルド時にJavaScriptが使用するメモリ上限を指定します。VPSなどのSWAP領域がデフォルトでない環境なら、SWAPを指定した方が安心です。
準備ができたら、いつものGridsomeビルドコマンドの最初に「NODE_OPTIONS="--max-old-space-size=xxxx"」をつけて実行します。xxxxの部分はメモリの容量(MB単位)です。
NODE_OPTIONS="--max-old-space-size=1024" gridsome build
この場合は1GBに制限していますが、実行環境に合わせて数字を調整します。
問題なくビルドが通る数値をテストしつつ調整していけばOKです。