code

React Native ERROR Packager가 포트 8081에서 수신 할 수 없습니다.

codestyles 2020. 11. 9. 08:10
반응형

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

터미널을 타고 입력

fuser 8081/tcp

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

kill <pid>

우분투 / 유닉스 && 맥 OS

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

$ killall -9 node

Metro 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입니다.)


머신에서 이미 실행중인 노드 서버가 있는지 확인한 다음 닫습니다.


3131과 같은 다른 포트에서 실행 해보십시오. 다음 명령을 실행하십시오.

react-native run-android --port=3131

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


이 문제를 해결하기 위해 아래에서 언급 한 프로세스입니다.

CTRL + C 또는 CMD + C를 사용하여 현재 "react-native run-android"프로세스를 취소하십시오.

자동으로 열리는 메트로 번 들러 (터미널) 창 명령 줄을 닫습니다.

터미널에서 명령을 다시 실행하십시오.“react-native run-android


이는 McAfee가 해당 포트를 사용하기 때문일 수 있습니다. 간단하게 수행하면 lsof -i 8081응용 프로그램이 표시되지 않을 수 있으며 sudo해야 할 수 있습니다.

수행 sudo lsof -i 8081이 명령은 출력을 제공하는 경우는 사용하여 죽일 수 있습니다 sudo launchctl remove com.mcafee.agent.macmn. 이 시작 패키저 후에 다시.


우선, 장치에서 Dev 로 이동하십시오 . 옵션-> ADB over Network 후 :

$ adb connect <your device adb network>
$ react-native run-android 

(또는 run-ios, 그런데)

if this has successfully your device has installed app-debug.apk, open app-debug and go to Dev. Settings -> Debug server host & port for device, type in your machine's IP address (generally, System preference -> Network), as in the example below < your machine's IP address >:8081 (whihout inequality)

finally, execute the command below

$ react-native start --port=8081

try another ports, and verify that you machine and your device are same network.


in my case, internet on emulator is down as there is no wifi signal on emulator. Resetting emulator has worked.

참고URL : https://stackoverflow.com/questions/43425754/react-native-error-packager-cant-listen-on-port-8081

반응형