ゆったりWeb手帳

気になったことをのんびり書くよ

🏢

gatsby buildでメモリが足りないエラー

gatsby build

本番環境のサーバでgatsby buildしたらエラーが出ました。
 ERROR

UNHANDLED REJECTION spawn ENOMEM



  Error: spawn ENOMEM

  - child_process.js:358 ChildProcess.spawn
    internal/child_process.js:358:11

  - index.js:204 module.exports
    [project]/[imagemin-pngquant]/[execa]/index.js:204:26

  - index.js:52 input
    [project]/[imagemin-pngquant]/index.js:52:13

  - index.js:71 Function.module.exports.buffer
    [project]/[imagemin]/index.js:71:31

  - process-file.js:198 pipeline.toBuffer.then.sharpBuffer
    [project]/[gatsby-plugin-sharp]/process-file.js:198:105

調べてみるとメモリが足りないエラーのようです。
画像のサムネイルを生成してるときに止まりやすいみたい。
本番環境はメモリちょっとしかないので、まぁしかたないのかな。
スワップメモリで対応します。
スワップファイルを作成してパーミッションを設定します。
# fallocate -l 2G /swap
# chmod 600 /swap
スワップスペースにします。
# mkswap /swap
スワップを有効にします。
# swapon /swap
これでとりあえず`gatsby build`が通るか確認。
OKなら再起動後もスワップファイルを保持します。
# echo "/swap none swap sw 0 0" | tee -a /etc/fstab
以上です。
次の記事iOSのiTunesバックアップの解析