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


84

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

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

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

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

여기에 이미지 설명 입력


1
이 게시물을 살펴보면 찾을 수 있습니다.
Antoine Grandchamp

다른 답변 외에도 Metro 번 들러가 오랫동안 잊혀진 터미널 창 somwhere에서 이미 실행되고 있지 않은지 확인하십시오.
Lurifaxel 2008 년

답변:


108

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

$ react-native start --port=8088

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

$ netstat -a -b -o

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

$ taskkill /pid 1234

146

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

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


4
또한 우분투 18.04에 작품
theapache64

1
맥 OS 높은 시에라에,뿐만 아니라 나를 위해 일한
Liran H

1
좋은 좋은 좋은 좋은 아주 좋은, 감사합니다.
Jeaf Gilbert

31

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

lsof -i :8081  

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

kill -9 <PID>  

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


19

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

$ adb reconnect

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

$ adb reverse tcp:8081 tcp:8081

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

또는 시도 할 수 있습니다.

$ killall node

9

우분투 / 유닉스 && 맥 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입니다.)


6

터미널을 타고 입력

fuser 8081/tcp

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

kill <pid>

3

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


2

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


2

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

react-native run-android --port=3131

제 경우에는 McAfee가이 포트를 사용하고 있습니다. 언급했듯이 다른 포트에서 실행하면 도움이됩니다.
Muthu

1

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

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


1

제 경우에는 에뮬레이터에 Wi-Fi 신호가 없기 때문에 에뮬레이터의 인터넷이 다운되었습니다. 에뮬레이터 재설정이 작동했습니다.


0

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

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

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

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


0

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

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

(또는 run-ios, 그런데)

성공적으로 장치에 app-debug.apk가 설치 되었으면 app-debug를 열고 Dev 로 이동합니다 . 설정 - 장치> 디버그 서버 호스트 및 포트 , 컴퓨터의 IP 주소 (일반적으로, 입력 시스템 환경 설정 -> 네트워크 ), 아래의 예에서와 같이 < 컴퓨터의 IP 주소 > : 8081 (whihout 불평등)

마지막으로 아래 명령을 실행하십시오.

$ react-native start --port=8081

다른 포트를 시도하고 컴퓨터와 장치가 동일한 네트워크인지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.