Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Storage `bucket.exists()` always returns false for firebase emulator

オープン
#2,447 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
node.js, typescript
領域
backend, cloud

調査の方向性

まず、報告されている firebase-admin@12.0.0 と firebase-tools@13.1.0 のセットアップを使用して、firebase emulators:start --only storage,functions で問題を再現します。デフォルトのバケット名を使って getStorage().bucket() と bucket.exists() を追跡し、その後、エミュレータへのリクエストとレスポンスを、期待されるバケットの状態と比較します。bucket.exists() が一致するデフォルトのエミュレータバケットに対して true を返せば完了です。

索引モデルが issue の本文から書いたものです。

説明

api: storage
[READ] Step 1: Are you in the right place?
  • For issues related to the code in this repository file a Github issue.
  • If the issue pertains to Cloud Firestore, read the instructions in the "Firestore issue"
    template.
  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.
[REQUIRED] Step 2: Describe your environment
  • Operating System version: Ubuntu
  • Firebase SDK version: firebase-admin@12.0.0 firebase-tools@13.1.0
  • Firebase Product: storage
  • Node.js version: 18.16.1
  • NPM version: 9.5.1
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:

Create basic project with storage and functions setup for emulation: (functions only used to call storage bucket methods)

// firebase.json
"emulators": {
    "functions": {
      "port": 5001
    },
    "storage": {
      "port": 9199
    },
    // ...rest of config

Run emulator with firebase emulators:start --only storage,functions
Verify storage bucket exists in emulator and the name is matched in firebase config showing storage_bucket as the default
Hit the firebase function to run the storage bucket code
Calling bucket.exists() from firebase function always returns false.

Expected outcome:
Calling bucket.exists() from firebase function return true when accessing the default bucket.

Relevant Code:
import { onRequest } from 'firebase-functions/v2/https';
import { getStorage } from 'firebase-admin/storage';

export const foo = onRequest(async (req, res) => {
  const storage = getStorage();
  console.log('APP STORAGE BUCKET:', storage.app.options.storageBucket);

  const bucket = storage.bucket();
  console.log('DEFAULT STORAGE BUCKET:', `name=${bucket.name}`, `id=${bucket.id}`);

  const exists = await bucket.exists();
  console.log('BUCKET EXISTS?:', exists);

  res.send(`BUCKET EXISTS?: ${exists}`);
});
Images

Console output:
image

Emulator Storage: (name of bucket matches id in code)
image

主要言語
TypeScript
スター
1.7k
フォーク
419
平均マージ
4日 20時間
マージ済み PR(30日)
16

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

firebase/firebase-admin-node のほかの issue

firebase/firebase-admin-node の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。