Next.js に既存のReactアプリを移植してみたらビルド時にFirebase Admin SDK で次のエラーが発生した
error - ./node_modules/gcs-resumable-upload/node_modules/google-auth-library/build/src/auth/googleauth.js:xxx:0 Module not found: Can't resolve 'child_process'
調べると、Firebase Admin SDKはサーバーサイドで利用するモジュールにもかかわらず、フロントエンド側で呼び出していることが原因だとわかった
なので、getServerSideProps
かapi
内で使用するように修正した
解決に時間がかかったのは
next.config.js
でモック化(空オブジェクト)にすれば動く
などの情報を目にしてしまい、対処していたら次に
Module not found: Can't resolve 'fs'
が発生して、しばらくいたちごっこになってしまっていたため
冷静に考えればNode.jsのモジュールであることに気づけたので気をつけたい