react-native - 예제 - reactive native expo




네이티브 버전 불일치에 대처 (20)

새 프로젝트를 초기화 한 다음 x 코드 에뮬레이터를 시작하면 다음 메시지가 표시됩니다. "React-Native Version Mismatch"Javascript 버전 0.50.1 기본 버전 : 0.50.0

네이티브 코드를 다시 빌드했는지 확인하십시오 ...

아무도 여기서 무슨 일이 일어나고 있는지 알고 있고 나를 도울 수 있습니까?

감사!


CocoaPod를 사용하는 iOS에서 동일한 문제가있는 다른 사용자 :

위의 모든 솔루션을 사용해 보았습니다. 내 프로젝트에 네이티브 종속성을 가진 패키지가 있고, 포드 모듈이 설치되어야하는 패키지가 있습니다. 문제는 내 Podfile에 React가 지정되었지만 React 포드가 react-native-git-upgrade 를 사용하여 자동으로 업그레이드되지 않았다는 것입니다.

해결 방법은 cd ios && pod install 을 실행하여 설치된 모든 pod를 업그레이드하는 것입니다.


Opene projectdir / android / app / build.gradle

시험:

compile ( "com.facebook.react : react-native : 0.51.0") {force = true}

컴파일 대신 "com.facebook.react : react-native : 0.51.0"{force = true}

참고 문헌 : Link


nodejs 터미널을 닫고 다시 빌드하십시오.


package.json (의존성 - 반응 - 네이티브)에 지정된 반응 네이티브 버전을 오류 메시지에 표시된 '네이티브 버전'과 동일하게 변경하십시오. 그런 다음 'npm install'을 다시 실행하십시오.


나는 WebStorm에서 React Native 앱을 빌드하고 실행하려고 시도하고 있었고이 문제가 발생했습니다. 나를위한 간단한 해결책은 다음과 같습니다.

watchman watch-del-all

macOS에서 watchman 이 아직 설치되지 않은 경우 Homebrew 사용하여 설치하십시오.

brew install watchman

나는 물리적 인 장치를 사용하고 있는데, 내 경우에는 이것이 문제를 해결했다.

  1. 앱 제거
  2. lsof -i :8081
  3. kill -9 PID
  4. 앱 재구성 ( react-native run-android 또는 react-native run-ios )

나를 위해 그것은 package.json 파일의 dependency 섹션에서 react-native 버전 때문입니다. 그것은 :

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "~0.55.0"
}

내가 그것을 chaged :

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "0.52.0"
}

이제 제대로 작동합니다.


내 경우에는 (엑스포 및 안드로이드 빌드 사용 안함)

package.json

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.2"
}

그리고 app.json

{
  "sdkVersion": "27"
}

문제를 해결했다.


내 안드로이드에 대한 내 반응 네이티브 애플 리케이션을 구축하는 동안 나는 같은 문제가있어, 나는 나를 위해 일한 다음 않았다.

오류 콘솔의 "JavaScript 버전 0.50.1"은 package.json 파일의 반응 기본 버전입니다. 오류 콘솔에서 "Native version 0.50.0"과 동일한 버전인지 확인하십시오.

  1. 나는 네이티브 버전 0.50.0에 대한 반응 네이티브 버전을 오류 콘솔에서 프롬프트 된대로 업데이트했습니다.
  2. 반대로 react-native run-android 다시 빌드하십시오.

닫기 및 재 구축만으로 해결할 수없는 Android 개발자는 에뮬레이터 / 장치에서 수동으로 응용 프로그램을 제거하십시오.


에뮬레이터에서 Wi-Fi가 활성화되어 있는지 확인하십시오.


엑스포 및 iOS 시뮬레이터를 사용하여이 문제가 발생했습니다. 내게 효과가 있었던 것은 Hardware > Erase All Content and Settings... 시뮬레이터에서 Hardware > Erase All Content and Settings... 지우는 것이 었습니다 Hardware > Erase All Content and Settings...


엑스포를 통해 네이티브 네이티브 앱을 실행하는 경우 React Native를 업그레이드하면이 오류가 발생할 수 있습니다 ( https://github.com/expo/expo/issues/923 명시).

이것이 귀하의 시나리오라면, 귀하의 선택은 다음과 같습니다 :

  1. React 네이티브 버전과 호환되는 버전으로 package.json 나열된 Bump Expo (해당되는 경우 가있을 수 있음 - 연결된 문제로 판단 할 때 박람회 지원 트레일에서 네이티브 릴리스를 리작합니다 ).
  2. 변경 사항을 취소하고 노드 모듈을 제거하고 다시 설치 한 다음 엑스포에서 Eject 그런 다음 (여전히 앱을 포스트 투하 할 수 있는지 확인한 후) 업그레이드를 다시 시도하십시오.

우리가 한 수정은 ANDROID_HOME 및 PATH 변수가 빌드 전에 설정되었는지 확인하는 것이 었습니다.

먼저 아래의 두 명령을 실행 한 다음 장치 용 앱을 빌드하십시오.

ANDROID_HOME = / 사용자 / 사용자 이름 / MyFiles / 응용 프로그램 / androidsdk export PATH = $ PATH : $ ANDROID_HOME / tools : $ ANDROID_HOME / platform-tools


이것이 내가 그걸로 한 것입니다.

모든 터미널을 닫고 빌드를 다시 실행하십시오.

다른 프로젝트에서 nodejs 터미널을 닫는 것을 잊어 버릴 수 있으며, 다른 반응 버전을 설치하게됩니다.

그래서 nodejs 서버에서 가져온 코드는 원래 서버와 충돌합니다.


이는 업그레이드하기 전에 발생하지 않았던 Android Studio 3.2 이상 사용자에게 특히 유용합니다.

구성 ( package.json build.gradle , build.gradle )에서 React Native의 버전을 변경하지 않은 경우 버전 불일치 문제는 git에서 다른 커밋을 체크 아웃 한 후에 프로젝트 파일에 대한 탐지되지 않은 변경 사항에서 발생할 수 있습니다. 이를 극복하기 위해 다음 사항을 확인하십시오.

  • Build > Clean Project : Build > Clean Project

  • Gradle 파일 동기화 프로젝트 : 탐색 모음의 Stop 버튼 옆

  • 프로젝트 만들기 : 해머 아이콘이있는 탐색 모음의 첫 번째 버튼

  • 마지막으로 앱 실행 / 디버그

또한 Session 'app': Error Installing APK 극복 할 수 있습니다. 앱이 기기에서 제거되면 즉시 실행으로 인해 Session 'app': Error Installing APK 오류가 발생합니다.


이전에이 오류를 본 적이 없지만 Xcode와 React-Native를 함께 사용할 수 없을 때마다 몇 가지 작업을 수행합니다. 함께 작업하고있는 Xcode의 버전을 확인하십시오. 업데이트가 필요할 경우 업데이트합니다. 그런 다음 파수꾼과 캐시를 지우는 것이 내가가는 두 번째 장소입니다. 캐시 재설정 명령을 사용하지 않습니다. 항상 캐시를 확인해야하므로 건너 뜁니다 (캐시 할 수는 있지만 혼란 스럽습니다). rm -rf $ TMPDIR / react- *를 사용하여 캐시 된 빌드를 제거합니다. 그래도 작동하지 않는다면 Xcode에서 앱을 만든 다음 거기에서 나아가서 반응이없는 실행 소스로 빌드하려고합니다. 이 오류 메시지가 나타나면 Xcode로 빌드를 시도해보십시오. 희망이 도움이됩니다 ... 당신의 진보를 알려주십시오. 행운을 빕니다! 또한 버전 동기화를 시도 할 때 RN 0.51로 업데이트 할 수 있습니다.


제 경우에는 안드로이드 물리적 장치가 제 개발 컴퓨터에서 실행중인 js 서버에 연결되지 않습니다. 그래서 수동으로 내 안드로이드 장치에 디버그 서버 호스트 및 포트를 설정해야합니다.


필자의 경우 새로운 가상 장치를 설치하면 도움이되었습니다. 이제 앱당 1 개의 기기를 사용하고 있습니다.


android/app/build.gradle 로 이동 한 다음 dependencies 섹션에 추가하십시오.

dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true } 
}

/// 반응하는 네이티브 버전은 package.json에서 찾을 수 있습니다.







react-native-ios