programing

Firebase 서버 오류: 포트 5000이 열려 있지 않습니다.함수 에뮬레이터를 시작할 수 없습니다.

iphone6s 2023. 7. 1. 08:08
반응형

Firebase 서버 오류: 포트 5000이 열려 있지 않습니다.함수 에뮬레이터를 시작할 수 없습니다.

소방 기지 기능을 로컬로 제공하려고 하는데, 실행할 때firebase serve또는firebase emulators:start오류 메시지: "포트 5000이 열려 있지 않습니다. 함수 에뮬레이터를 시작할 수 없습니다."

Windows 10을 사용하고 있기 때문에 포트 번호를 변경하고 포트가 방화벽에 의해 차단되었는지 확인하고 방화벽에 포트 5000-5010에 대한 새 규칙을 만들었지만 이 방법은 사용할 수 없었습니다.

Mac/리눅스의 경우 터미널/쉘을 사용하여 프로세스 ID(PID)를 찾은 다음 프로세스를 종료합니다.

sudo lsof -i :5000
sudo kill -9 PID

MacOS Montrey에서 포트 5000은 새로운 "에어플레이 수신기"에 의해 요청될 수 있습니다.설정 -> 공유:에서 비활성화할 수 있습니다.

AirPlay Receiver 비활성화 설정 패널 스크린샷

AirPlay Receiver(필요하지 않은 경우)를 비활성화하면 포트 5000이 해제됩니다.

다른 포트를 사용하는 것도 간단한 솔루션입니다.

firebase serve -p 5001

Windows 사용자의 경우:

netstat -ano|findstr "PID :5000"

그런 다음 줄 끝에 있는 프로세스 ID(PID)를 사용합니다.

taskkill /pid FOUNDPID /F

taskkillVS Code 컨텍스트의 터미널 내에서 작동하지 않습니다.127.0.0.1:5000에서 하려면 ( CMD 또는 합니다.

여기서 중요한 것은 포트 5000이 어떤 프로세스로 실행되고 있다는 것입니다.먼저, 그 과정을 없애야 합니다.

Ubuntu에서 프로세스 ID 찾기

sudo lsof -i :5000

PID 14541을 얻었다고 가정합니다.

프로세스 중지

sudo kill -9 14541

5000그리고.7000MacOS Monterey에서 에어플레이로 촬영됩니다.

여기서 제안하는 대로 Airplay Receiver를 끕니다.

갱다하firebase.json

"emulators": {
   
    "hosting": {
      "port": 5004
    }
}
lsof -t -i tcp:5000 | xargs kill

를 로세를 ID직으로 직접 한 줄 입니다.killh/t @manav

원래 질문은 Windows용이었지만 현재 검색 결과에서 높은 순위를 차지하고 있기 때문에 다른 사람들에게 유용할 수 있습니다.

비슷한 문제가 최근 공식 github repo: https://github.com/firebase/firebase-tools/issues/1606 에서 보고되었습니다.

이 문제는 여기에서 볼 수 있듯이 종속성(노드 포트 파인더)의 버그로 인해 발생합니다.https://github.com/http-party/node-portfinder/pull/86

이를 편집하는 빠른 방법은 이전 버전의 노드 포트파인더(v1.0.21)를 사용하는 것일 수 있습니다.또는 편집하여 수행할 수 있습니다.node_modules/firebase-tools/lib/emulator/controller.js그리고 변화.yield pf.getPortPromise({ port, stopPort: port })yield pf.getPortPromise({ port, stopPort: port + 1 }).

편집: 믈라덴 스크르빅이 제안한 대로, 다음을 찾기 위해.firebase-tools 실해야합니다를 .npm root -g그리고 다음을 찾습니다.firebase-tools안에 폴더가 있습니다.

이것으로 문제가 해결될 것입니다!

이것은 저에게 효과가 있었습니다.

시스템을 다시 시작하십시오.

just run 명령어

firebase serve --only functions --host 0.0.0.0

다음 방법을 사용해 보십시오.

firebase serve --only functions -p 5002

이 명령을 실행하면 다음과 같은 이점을 얻을 수 있습니다.

firebase emulators:start --only firestore

이 창도 닫습니다.

여기 macOS Monterey 12.2 사용자가 있습니다.저는 포트를 5005로 간단히 바꿨고 그것은 매력적으로 작동했습니다.

{
  "hosting": {
    "public": "functions/browser",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "function": "ssrapp"
      }
    ]
  },
  "emulators": {
    "hosting": {
      "port": "5005"
    }
  }
}

최신 파이어베이스 기능(현재 3.2.0) 대신 3.0.2로 유지하도록 강제하는 것이 제 경우 해결되었습니다.

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

(또한 저는 파이어베이스-툴 버전 7.0.2 atm을 사용하고 있으며, 최신 버전으로 확인하지 않았습니다.작동하지 않으면 Firebase-tools를 7.0.2로 되돌립니다.)

속전속결

npm i -g firebase-tools@7.8.0

해결 방법:

Firebase 서버 오류: 포트 5000이 열려 있지 않습니다.함수 에뮬레이터를 시작할 수 없습니다.

Firebase를 실행할 때 다음 오류 메시지 중 하나가 표시되면 다른 버전의 Firebase 도구로 전환하여 문제를 쉽게 해결할 수 있습니다.

Firebase Tools 버전 6을 사용하는 경우 최신 버전(6.12.0)으로 전환하거나 v7.2.2를 사용할 수 있습니다.Firebase Tools 버전으로 변경하려면 다음 노드 패키지 관리자 명령으로 실행합니다.

npm install -g firebase-tools@6.12.0

한다면firebase serve --host 127.0.0.1당신을 위해 해결합니다; 아마도 당신은 당신의 것을 설정하지 않았을 것입니다.hosts파일. Linux - 네트워크 구성

여기에서 제안하는 바와 같이 https://github.com/firebase/firebase-tools/issues/2856#issuecomment-902411134

Node.js를 업그레이드하는 중입니다.

방금 노드를 14.17.5로 업그레이드했습니다.이것으로 문제가 해결됩니다.모든 에뮬레이터를 중지하려면 Ctrl+C를 누릅니다.

모든 항목을 닫고 "prefetch" 및 "run" 옵션의 "%temp%"를 삭제한 후 나에게 효과가 있었던 PC를 다시 시작합니다.

먼저 탭 재시작 VS 코드를 모두 닫은 다음 그냥 방화벽에 들어갑니다.json 파일을 변경한 다음 UI 포트 번호를 변경하고 다시 시작하면 작동합니다!

    "ui": {
      "enabled": true,
      "port": "enter any number"
    }
{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "functions": {
    "source": "functions"
  },
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "emulators": {
    "auth": {
      "port": 9099
    },
    "functions": {
      "port": 5001
    },
    "firestore": {
      "port": 8080
    },
    "hosting": {
      "port": 5005
    }
  }
}

저는 macOS Monterey 12.6을 사용하고 있습니다. 방금 호스팅 포트를 "5005"로 변경했는데, 잘 작동합니다.

저는 얼마 전에 같은 문제에 직면했습니다.

컴퓨터의 다른 터미널에서 방화벽이 실행되고 있다는 것을 알게 되었습니다.

에 ㅠㅠㅠㅠㅠㅠㅠㅠㅠfirebase serve다른 터미널에서 실행 중인지 확인합니다.

그것이 나의 문제처럼 당신의 문제를 해결하기를 바랍니다.

저는 VPN이 켜져 있을 때 작동하지 않았습니다.

언급URL : https://stackoverflow.com/questions/57537355/firebase-serve-error-port-5000-is-not-open-could-not-start-functions-emulator

반응형