명령을 실행 react-native start
하면 표시 Packager can't listen on port 8081
됩니다.
내 포트 8081을 사용하는 소프트웨어에 대한 문제라는 것을 알고 있습니다.
리소스 모니터를 사용하여 포트를 확인했지만 8081을 찾을 수 없습니다. 8081이 없습니다.
누군가 그것을 찾는 방법을 보여줄 수 있습니까?
답변:
이 사진은 실제로 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입니다.)
제 경우에는 에뮬레이터에 Wi-Fi 신호가 없기 때문에 에뮬레이터의 인터넷이 다운되었습니다. 에뮬레이터 재설정이 작동했습니다.
우선, 장치에서 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
다른 포트를 시도하고 컴퓨터와 장치가 동일한 네트워크인지 확인하십시오.