👏

Firebase deployを実行したらエラーが発生:Error: HTTP Error: 400, Unknown Error

2023/01/09に公開

firebaseプロジェクトで以下のコマンドを実行してデプロイしようとしたらエラーが発生しました。

# firebase deploy

エラー内容

✔  functions: Finished running predeploy script.
⚠  functions: package.json indicates an outdated version of firebase-functions.
Please upgrade using npm install --save firebase-functions@latest in your functions directory.
⚠  functions: Please note that there will be breaking changes when you upgrade.
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
i  functions: ensuring required API artifactregistry.googleapis.com is enabled...
✔  functions: required API cloudfunctions.googleapis.com is enabled
✔  functions: required API artifactregistry.googleapis.com is enabled
✔  functions: required API cloudbuild.googleapis.com is enabled
i  functions: preparing . directory for uploading...
i  functions: packaged . (103.87 MB) for uploading
⚠  functions: Upload Error: HTTP Error: 400, Unknown Error

Error: HTTP Error: 400, Unknown Error

firebase-toolのバージョンが低かったので、最新版にして再度試したらエラー内容が変わりました。アップロードしようとするファイルがMAXを超えてるようです。

略...
Error: HTTP Error: 400, <?xml version='1.0' encoding='UTF-8'?><Error><Code>EntityTooLarge</Code><Message>Your proposed upload is larger than the maximum object size specified in your Policy Document.</Message><Details>Content-length exceeds upper bound on range</Details></Error>

原因

GCPのアップロードの制限は100MBまでになっていて、これを超えるとエラーが発生するようです。

解決策1

node_modulesフォルダを削除してyarn installを実行

原因はnode_modulesの配下に大量の要らないファイルがインストールされて、デプロイするボリュームがデカくてコケたらしい
https://github.com/firebase/firebase-tools/issues/1123#issuecomment-816771469

解決策2

.nextを削除する

Discussion