Gatsby.jsで"EMFILE: too many open files"というエラーが出たときの対処法(Vercel)
シチュエーション
Gatsby.jsで大量の画像ノードを作成したところ、あるとき突然以下のようなエラーが出ました。
このエラーはローカルで開発しているMac上では再現せず、Vercelでデプロイした場合のみ発生しました。
解決方法
gatsby-node.js
の一番上に、以下を追加し、再度デプロイします。
const realFs = require('fs')
const gracefulFs = require('graceful-fs')
gracefulFs.gracefulify(realFs)
このエラーはデフォルトのfs
を使用していると起こる一般的なエラーらしく、その対策として存在するgraceful-fs
を使用するようにgatsby-source-filesystem
に伝えている感じなのかな、と思います。
本当の解決方法
上記の解決方法は、一時的に問題を解決しましたが、再発しました。
なので、Netlifyに変更したところ、問題が解決しました。
Vercelの方がビルドもCDNもはやいので残念ですが、GatsbyとVercelは相性が悪いのかもしれません。
参考
この対処法は以下のissueに乗っていました。
https://github.com/gatsbyjs/gatsby/issues/12011
Author And Source
この問題について(Gatsby.jsで"EMFILE: too many open files"というエラーが出たときの対処法(Vercel)), 我々は、より多くの情報をここで見つけました https://qiita.com/Michinosuke/items/5aa10197ba67ea197426著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .