🐛
Node.jsのFirebase Storageでファイルのダウンロードに失敗する問題に対処する
数日ぶりにfirebaseのデプロイを行ったところ、アプリがうまく動かない事象が発生しました。
調査を進める上でFirebase Functions上でStorageからファイルをダウンロードしようとすると以下のログが表示されていることが分かりました。
TypeError: Cannot read properties of null (reading 'length')
at getStateLength (/workspace/node_modules/stream-shift/index.js:16:28)
at shift (/workspace/node_modules/stream-shift/index.js:6:99)
at Duplexify._forward (/workspace/node_modules/duplexify/index.js:170:35)
at PassThrough.onreadable (/workspace/node_modules/duplexify/index.js:136:10)
at PassThrough.emit (node:events:518:28)
at PassThrough.emit (node:domain:551:15)
at emitReadable_ (node:internal/streams/readable:832:12)
at process.processTicksAndRejections (node:internal/process/task_queues:81:21)
調べてみると似たような問題が最近発生していることが分かります。
対処法としては stream-shift
のパッケージを1.0.2に上げると解消するとのことだったので、 functions
ディレクトリに入ってから npm install --save stream-shift@1.0.2
を実行し、親ディレクトリに戻ってから firebase deploy
を実行すると解消しました。
Firebaseの更新でも修正が入りそうな気はしますが、しばらくはこれで凌ぎたいと思います。
Discussion