web-dev-qa-db-ja.com

Firebaseサーバーエラー:ポート5000が開いていません。関数エミュレータを開始できませんでした

Firebase関数をローカルで提供しようとしていますが、firebase serveまたはfirebase emulators:startを実行すると、「ポート5000が開いていません。関数エミュレータを起動できませんでした。」というエラーメッセージが表示されます。

私はWindows 10を使用しているので、ポート番号を変更しようとしました。ポートがファイアウォールによってブロックされているかどうかを確認し、ファイアウォールでポート5000〜5010への新しいルールを作成しましたが、このアプローチはどれもうまくいきませんでした。

16

最近、同様の問題が公式のgithubリポジトリで報告されています: https://github.com/firebase/firebase-tools/issues/1606

ここに見られるように、それは依存関係(ノードポートファインダー)のバグが原因です。 https://github.com/http-party/node-portfinder/pull/86

編集するための簡単な修正は、古いバージョンのノードポートファインダー(v 1.0.21)を使用することです。または、_node_modules/firebase-tools/lib/emulator/controller.js_を編集し、yield pf.getPortPromise({ port, stopPort: port })yield pf.getPortPromise({ port, stopPort: port + 1 })に変更することで実行できます。

編集:Mladen Skrbicによって提案されているように、_firebase-tools_フォルダーを見つけるには、_npm root -g_を実行して、その中で_firebase-tools_フォルダーを見つける必要があります。

これで問題が解決するはずです!

4
Wendigo

コマンドfirebase serve --only functions --Host 0.0.0.0を実行するだけです

2

最新のfirebase-functions(現在3.2.0)の代わりに、強制的に3.0.2に留まるようにして、私の場合は解決しました。

"dependencies": {
    "firebase-admin": "^8.2.0",
    "firebase-functions": "3.0.2",
    ...
}

(私はfirebase-toolsバージョン7.0.2 atmを使用していますが、最新のもので確認していません。動作しない場合は、firebase-toolsを7.0.2に戻してみてください)

2

どこ? node_modules/firebase-tools/lib/emulator/controller.js node_modulesに「firebase-tools」フォルダが見つかりません。 firebase-funstionsとfirebase-adminのみを見つけることができました。

1
meltedmoon

これでうまくいきました。

システムを再起動するだけです。

1
biggest_boy

クイックフィックスnpm i -g [email protected]

1
J Krumov

解決策:Firebase serve error:Port 5000 is not open。could not start functions emulator

Firebaseの実行時に次のいずれかのエラーメッセージが表示された場合は、別のバージョンのFirebaseツールに切り替えることで問題を簡単に解決できます。

ポート5000が開いていません。機能エミュレーターを開始できませんでした。

Firebase Toolsのバージョン6を使用している場合は、最新バージョン(6.12.0)に切り替えるか、v7.2.2を試すことができます。 Firebaseツールのバージョンに変更するには、次のノードパッケージマネージャーコマンドを実行します。

npm install -g [email protected].

0
Chidi-Nwaneto