UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Next.js】ビルドするとFirebase Admin SDK でCan't resolve 'child_process' というエラーが発生する

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はサーバーサイドで利用するモジュールにもかかわらず、フロントエンド側で呼び出していることが原因だとわかった

なので、getServerSidePropsapi内で使用するように修正した

解決に時間がかかったのは

next.config.jsでモック化(空オブジェクト)にすれば動く

などの情報を目にしてしまい、対処していたら次に

Module not found: Can't resolve 'fs'

が発生して、しばらくいたちごっこになってしまっていたため

冷静に考えればNode.jsのモジュールであることに気づけたので気をつけたい