firebase emulators:start --only firestore
コマンドで Firestore エミュレータを起動しようとしたら下記のような Error が🚨
$ firebase emulators:start --only firestore i emulators: Starting emulators: firestore i emulators: Shutting down emulators. i hub: Stopping emulator hub ⚠ firestore: Port 8080 is not open on localhost, could not start Firestore Emulator. ⚠ firestore: To select a different host/port, specify that host/port in a firebase.json config file: { // ... "emulators": { "firestore": { "host": "HOST", "port": "PORT" } } } i emulators: Shutting down emulators. Error: Could not start Firestore Emulator, port taken.
どうやら、エミュレータが起動されるデフォルトポート 8080 が開けないらしく、firebase.json
でポートを指定してねと言われています。昨日までは起動できていたのでおかしいと思いつつ 8080 ポートの調べてみると java 30344
とあり、java の何かしらが 8080 ポートを使用してるみたいでした(Android エミュレータかな🤔)。
解決策
下記コマンドで使用中のプロセスを終了してあげることで、8080 ポートが利用できるようになります。
$ kill 30344
できました 🎉
$ firebase emulators:start --only firestore i emulators: Starting emulators: firestore i firestore: Firestore Emulator logging to firestore-debug.log ⚠ ui: Emulator UI unable to start on port 4000, starting on 4001 instead. i ui: Emulator UI logging to ui-debug.log ┌───────────────────────────────────────────────────────────────────────┐ │ ✔ All emulators ready! View status and logs at http://localhost:4001 │ └───────────────────────────────────────────────────────────────────────┘ ┌───────────┬────────────────┬─────────────────────────────────┐ │ Emulator │ Host:Port │ View in Emulator UI │ ├───────────┼────────────────┼─────────────────────────────────┤ │ Firestore │ localhost:8080 │ http://localhost:4001/firestore │ └───────────┴────────────────┴─────────────────────────────────┘ Other reserved ports: 4400, 4500 Issues? Report them at https://github.com/firebase/firebase-tools/issues and attach the *-debug.log files.