[react-native] React Native ERROR Packager가 포트 8081에서 수신 할 수 없습니다.

명령을 실행 react-native start하면 표시 Packager can't listen on port 8081됩니다.

내 포트 8081을 사용하는 소프트웨어에 대한 문제라는 것을 알고 있습니다.

리소스 모니터를 사용하여 포트를 확인했지만 8081을 찾을 수 없습니다. 8081이 없습니다.

누군가 그것을 찾는 방법을 보여줄 수 있습니까?

여기에 이미지 설명 입력



답변

다른 포트에서 패키저를 실행할 수 있습니다.

$ react-native start --port=8088

또는 netstat를 사용하여 Windows에서 어떤 포트를 사용하고 있는지 알아보십시오.

$ netstat -a -b -o

Netstat는 프로세스를 종료하는 데 사용할 수있는 PID를 제공합니다.

$ taskkill /pid 1234


답변

Mac에서는 다음 명령을 8081
sudo lsof -i :8081
실행 하여 포트를 사용중인 프로세스의 ID를 찾은 후 다음을 실행하여 프로세스를 종료합니다.
kill -9 23583

다음과 같이 보일 것입니다.
여기에 이미지 설명 입력


답변

이 오류는 일부 프로세스가 이미 8081 포트에서 실행 중이기 때문에 발생합니다. 해당 프로세스를 중지 한 다음 명령을 실행하면 코드가 실행됩니다. 먼저이 포트를 사용하는 모든 프로세스를 다음을 입력하여 나열하십시오.

lsof -i :8081

이 명령은 프로세스의 PID (프로세스 ID)를 나열한 다음 다음을 사용하여 노드 프로세스를 종료합니다.

kill -9 <PID>

여기서 PID는 노드 프로세스의 프로세스 ID입니다.


답변

이 사진은 실제로 8081이 사용되지 않음을 보여줍니다. 위의 제안이 도움이되지 않고 휴대 기기가 USB를 통해 컴퓨터에 연결되어 있고 Android 5.0 (Lollipop) 이상이있는 경우 다음을 시도해 볼 수 있습니다.

$ adb reconnect

대부분의 경우에는 필요하지 않지만 경우에 따라 모바일과의 연결을 재설정하고 adb 서버를 다시 시작하겠습니다. 드디어:

$ adb reverse tcp:8081 tcp:8081

따라서 모바일 장치가 자체적으로 포트 8081에 액세스하려고 할 때마다 PC의 8081 포트로 라우팅됩니다.

또는 시도 할 수 있습니다.

$ killall node


답변

우분투 / 유닉스 && 맥 OS

내 Metro Bundler가 멈 췄고 실행중인 노드 프로세스가 많았지 만 react-native 외에 다른 개발이 진행되지 않았기 때문에 다음을 실행했습니다.

$ killall -9 node

메트로 Bundler를 기본적으로 포트 8081에 노드를 통해 실행되며,이 걸리면, 이에는 (일반적으로 인해 누르기 때때로 문제가 발생할 수 CTRL+를 S뜨거운 재로드에와 연속해서). CTRL+ C를 눌러 react-native run-android프로세스를 종료하면 멈춰서 갑자기 나쁜 시간 react-native-run-android을 갖게됩니다.

Scanning folders for symlinks in /home/poop/dev/some-app/node_modules (41ms)

고치다:

$ killall -9 node

$ react-native run-android

참고 : 당시 다른 앱을 개발중인 경우 모든 노드 프로세스를 종료하면 실행중인 노드 기반 서비스 나 노드 프로세스가 중단 될 수 있으므로 killall -9. 노드 기반 데이터베이스 또는 앱을 실행하지 않거나 수동으로 다시 시작해도 괜찮다면 시작하는 것이 좋습니다.

이 준 관련되지 않은 질문에 대한 자세한 답변을 남기는 이유는 슬프게도 2 단계가 필요하지만 운 좋게도 2 단계 만 있으면 다시 작동하는 일반적인 준 관련 문제에 대한 해결책이기 때문입니다.

포트 8081에서 Metro Bundler 쓰레기를 외과 적으로 정확하게 제거하려면 RC_02 의 답변 단계를 수행하십시오 .

$ sudo lsof -i :8081

$ kill -9 23583

(여기서 23583은 프로세스 ID입니다.)


답변

터미널을 타고 입력

fuser 8081/tcp

포트 8081을 사용하는 프로세스 ID를 얻게됩니다. 이제 프로세스를 종료합니다.

kill <pid>


답변

포트 8081에서 실행중인 모든 프로세스를 종료해야합니다. kill -9 $(lsof -i:8081)