react native - 사용법 - 네트워크 응답 시간 초과 오류(create-react-native-app)(expo)
xde (8)
안드로이드에서 엑스포 앱에 대한 create-react-native-app를 실행하려고합니다.
첫째, 나는 명령을 작성하여 프로젝트를 만들었습니다.
create-react-native-app 테스트
그 때 나는 실행했다.
오후 시작
그런 다음 엑스포 앱에서 qr 코드를 스캔했습니다.
그러나 QR 코드를 스캔 한 후에 다음 오류가 발생합니다.
Uncaught Error: Java.net,sockettimeoutException: failed to connect to after 10000ms
Github 문제 :
https://github.com/react-community/create-react-native-app/issues/144#issuecomment-296631692
- 기기에서 : 엑스포 앱에 로그인하고 계정이없는 경우 계정을 만드십시오.
- 당신 시스템에서 : 열린 터미널은 cd 명령을 통해 프로젝트 디렉토리로 이동 한 다음
sudo exp start
를 입력하면sudo exp start
합니다. 이렇게하면 expo 계정 로그인 정보를 묻습니다. - 스캔 할 qr 코드를 제공합니다.
Windows에서
명령 프롬프트에서
ipconfig
를 실행하십시오.ip4 주소를 가져 와서 복사하십시오.
~보다
- 이 PC> 속성> 고급 시스템 설정> 환경 변수
- 다음 시스템 변수를 추가하십시오.
REACT_NATIVE_PACKAGER_HOSTNAME
- 변수 값으로 ip4를 붙여 넣어야했습니다.
다음 npm start
실행 그것은 나를 위해 일합니다.
개발을 위해 git bash를 사용하고 있다면 Icruz4의이 솔루션이 도움이 될 것입니다.
대신에
set REACT_NATIVE_PACKAGER_HOSTNAME
용도:
export REACT_NATIVE_PACKAGER_HOSTNAME='192.168.1.123'
노트 :
너가 달릴 때
npm start
엑스포는 사용중인 IP를 출력합니다. 해당 IP가 원하는 IP가 아닌 경우
REACT_NATIVE_PACKAGER_HOSTNAME
환경 변수가 올바르게 설정되지 않았습니다.
나는 네이티브 반응을위한 엑스포 어플리케이션을 설치할 것을 제안합니다, 공식 가이드 링크는 여기에 있습니다.
npm install -g exp
그런 다음 Genymotion 소프트웨어를 사용하여 실행 환경에 맞게 다양한 환경 설정을 에뮬레이션 할 수 있습니다.
exp start
네이티브 반응으로 "npm start"터미널을 사용할 경우 다음이 적합합니다. 내 응용 프로그램이 성공적으로 실행되면 터미널에 표시되고 엑스포 앱에있는 내 컴퓨터의 IPV 주소가 동일 함을 알게되었습니다. 예를 들면 다음과 같습니다.
ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.124
exp://10.0.0.124:19000
이 관찰을 바탕으로 다음과 같은 방법으로이 문제를 해결했습니다.
- 앱을 실행중인 npm 프롬프트 스크립트를 닫습니다.
- 엑스포 앱 닫기
터미널에서 명령을 실행하여 IP를 찾으십시오.
ipconfig
IP로 NodeJS 명령 프롬프트에서 명령을 실행하십시오 (예 : 10.0.0.124).
set REACT_NATIVE_PACKAGER_HOSTNAME=10.0.0.124
엑스포 앱 시작, 바코드 스캔
npm start
도움이되지 않는다면 다른 적절한 노력 이외에 React 개발자가 권장하는 다음 단계를 사용하십시오.
- VirtualBox로 Genymotion 설치하기
- Genymotion 사이트의 Signup
- 실행 Genymotion 소프트웨어와 !!! 로그인
랩톱의 IP 주소를 고정 IP로 고정하여이를 해결할 수 있습니다. 192.168.1.69라고 가정 해 봅니다. 그런 다음 랩톱의 동일한 IP 주소로 랩톱을 변경해야합니다.
set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Windows)
REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Mac & Linux)
프로젝트를 다시 시작하면 잘 할 수 있습니다.
이 문제는 다음과 같은 방법으로 해결할 수 있습니다.
다른 방법으로 환경 변수 설정하기
또는
네트워크 어댑터의 인터페이스 매트릭스 우선 순위 할당 github.com/react-community/create-react-native-app/issues/… 또는 여기에 자세한 지침이 github.com/react-community/create-react-native-app/issues/… 있습니다 .
또는
변경 한 후에는 작동하는지 테스트하기 전에 컴퓨터를 다시 시작하십시오.
행운을 빕니다!
필자의 경우 방화벽 설정만으로는 작동하지 않았습니다. 내 문제는 VirtualBox 네트워크 장치가 우선 순위 였고 엑스포 호스트가 잘못된 네트워크에서 시작하고 있다는 것이 었습니다.
Windows에서 ipconfig
를 실행하고 가지고있는 네트워크 어댑터를 볼 수 있습니다. npm
/ yarn start
는 그 목록에서 처음 나타나는 모든 것을 취하는 것 같습니다.
나는 이것에 관해서 여기에서 알았다 : https://github.com/react-community/create-react-native-app/issues/60
목록에 다른 네트워크 어댑터가 필요하지 않으면 제어판의 네트워크 연결 인터페이스에서 해당 네트워크 어댑터를 비활성화 할 수 있습니다.
이러한 연결을 사용 하고 Expo가 작동해야하는 경우이 프로세스를 따라 문제를 해결하려면 다음을 수행 하십시오 .
- 제어판> 네트워크 및 인터넷> 네트워크 연결로 이동하십시오.
- 원하는 연결 (높은 우선 순위 연결)을 마우스 오른쪽 단추로 클릭하십시오.
- 속성> 인터넷 프로토콜 버전 4를 클릭하십시오.
- 속성> 고급을 클릭하십시오.
- '자동 측정 항목'의 선택을 취소하십시오.
- '인터페이스 지표'에 10을 입력하십시오.
- 확인을 클릭하십시오.
낮은 우선 순위 연결에 대해 반복하지만 이번에는 'Interface Metric'에 20을 입력합니다.
이제 우선 순위가 높은 연결을 기본값으로 사용하게됩니다.