-
SDK 43 Expo Go에서 더이상 지원 안해줌React-Native/[RN]Expo 2022. 8. 3. 10:04728x90
This project uses SDK 43.0.0, but this version of Expo Go only supports the following SDKs : 44.0.0, 45.0.0, 46.0.0 To load the project, it must be updated to a supported SDK version or an older version of Expo Go must be used
https://blog.expo.dev/expo-sdk-45-f4e332954a68
이글 참고하여 46로 업데이트 ! 2022-08-03기준 업데이트 최신
expo upgrade
이명령어로 하니까 46으로 최신 업데이트 하시겠냐고 뜸 그래서 Y
오류발생
yarnpkg exited with non-zero code: 134
yarn.lock → yarn install → expo upgrade
yarn.lock 삭제 후 yarn install 한 다음에 expo upgrade 해보라고 한다.
오!!!!!!!! 되는것 같음!
√ Installed expo@^46.0.0
√ Validated configuration.
√ No additional changes necessary to app.json config.
√ Updated known packages to compatible versions.
√ Cleared packager cache.
√ Validated project
👏 Automated upgrade steps complete.
...but this doesn't mean everything is done yet!
✅ The following packages were updated:
expo-file-system, expo-font, expo-linking, expo-notifications, expo-splash-screen, expo-status-bar, expo-updates, react, react-dom, react-native, @react-native-async-storage/async-storage, react-native-gesture-handler, @react-native-picker/picker, react-native-reanimated, react-native-safe-area-context, react-native-screens, react-native-web, react-native-webview, @babel/core, expo
🚨 The following packages were not updated. You should check the READMEs for those repositories to determine what version is compatible with your new set of packages:
@react-native-community/masked-view, @react-navigation/bottom-tabs, @react-navigation/core, @react-navigation/drawer, @react-navigation/native, @react-navigation/native-stack, @react-navigation/stack, @reduxjs/toolkit, axios, react-native-picker-select, react-native-root-toast, react-native-signature-canvas, react-native-vector-icons, react-reduxpeer react@"16 || 17" from @react-native-picker/picker@2.4.2
업데이트 하니까 selectbox 선택 하는 라이브러리가 문제를 일으킨다.
이 오픈 소스가 react18을 지원 안하나봄...
https://github.com/react-native-picker/picker/issues/226
npm install @react-native-picker/picker --save --legacy-peer-deps
react-native-reanimated
얘 또 오류 나서 나 이거 안쓰는것 같아서 package.json에서 제외 시키고 npm install
error: node_modules\react-native-reanimated\src\index.ts: C:\NodeProject\BizpayBapp\node_modules\react-native-reanimated\src\index.ts: Export namespace should be first transformed by `@babel/plugin-proposal-export-namespace-from`.
제외 시켰는데도 이거 뜨네...
오????
Expo SDK46부터 새로 생긴 애니메이션 기능
https://docs.expo.dev/versions/latest/sdk/reanimated/
루트 디렉토리에서
//babel.config.js module.exports = function(api) { api.cache(true); return { presets: ['babel-preset-expo'], plugins: ['react-native-reanimated/plugin'], }; };
아래 플러그인을 추가한다!
expo start --clear
캐시 지우고
아 개빡치네...
또 오류 발생
Invariant Violation: ViewPropTypes has been removed from React Native. Migrate to ViewPropTypes exported from 'deprecated-react-native-prop-types'.
expo SDK46 2022-08-02일에 나온 latest 버전이라 그런가 노답이다. SDK46으로 현재로썬 마이그레이션 하지말고
SDK45로 마이그레이션 하자
SDK46부터 삭제 된다고 나와있음.
SDK45 마이그레이션중 오류
Error: Reanimated 2 failed to create a worklet, maybe you forgot to add Reanimated's babel plugin?
at node_modules\expo\build\environment\react-native-logs.fx.js:27:4 in error
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:95:4 in reportException
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:141:19 in handleException
at node_modules\react-native\Libraries\Core\setUpErrorHandling.js:24:6 in handleError
at node_modules\@react-native\polyfills\error-guard.js:49:36 in ErrorUtils.reportFatalError
at node_modules\metro-runtime\src\polyfills\require.js:203:6 in guardedLoadModule
at http://192.168.0.120:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false:194501:3 in global code
Invariant Violation: "main" has not been registered. This can happen if:
* Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.
at node_modules\expo\build\environment\react-native-logs.fx.js:27:4 in error
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:95:4 in reportException
at node_modules\react-native\Libraries\Core\ExceptionsManager.js:141:19 in handleException
at node_modules\react-native\Libraries\Core\setUpErrorHandling.js:24:6 in handleError
at node_modules\@react-native\polyfills\error-guard.js:49:36 in ErrorUtils.reportFatalError
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:370:8 in __guard
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:113:4 in callFunctionReturnFlushedQueuehttps://docs.expo.dev/versions/latest/sdk/reanimated/
expo install react-native-reanimated
//babel.config.js module.exports = function(api) { api.cache(true); return { presets: ['babel-preset-expo'], plugins: ['react-native-reanimated/plugin'], }; };
After you add the Babel plugin, restart your development server and clear the bundler cache: expo start --clear.
expo start --clear. 바벨 플러그인 적용 할려면 이걸 해줘야되네 씨댕.
ViewPropTypes will be removed from React Native. Migrate to ViewPropTypes exported from 'deprecated-react-native-prop-types'.
이거 또 SDK45에서 경고 뜨긴 하는데, 해결 방법이 아직 구글 형님에 없어서 다음에 해결 하는걸로... 아마 EXPO에서 해결 방법 줄것 같다
eas build --platform ios
했을때 오류 내용It seems like you've changed the version of the dependency `RCT-Folly` and it differs from the version stored in `Pods/Local Podspecs`.
You should run `pod update RCT-Folly --no-repo-update` to apply changes made locally의존성 `RCT-Folly`의 버전을 변경한 것으로 보이며 `Pods/Local Podspecs`에 저장된 버전과 다릅니다. 로컬에서 변경 사항을 적용하려면 `pod update RCT-Folly --no-repo-update`를 실행해야 합니다.
이건 해결 안된다 왜냐하면 ios에서 네이티브 업데이트 하는거라 나는 패스
다른 오류 내용
Build failed: Compatible versions of some pods could not be resolved. You are seeing this error because either: - Versions in the Podfile.lock cached by EAS do not match required values for some of the libraries, it can be triggered when upgrading Expo SDK or any other library with native code. To fix that add the "cache.key" field (it can be set to any value) in the build profile in eas.json to invalidate the cache. - Some of your npm packages have native code that depend on different versions of the same pod. Please see logs for more info.
eas.json에서 코드 추가 해야 될것 같다.
🍎 iOS build failed:
Compatible versions of some pods could not be resolved.
You are seeing this error because either:
- Versions in the Podfile.lock cached by EAS do not match required values for some of the libraries, it can be triggered when upgrading Expo SDK or any other library with native code. To fix that add the "cache.key" field (it can be set to any value) in the build profile in eas.json to invalidate the cache.
- Some of your npm packages have native code that depend on different versions of the same pod. Please see logs for more info.eas.json { "cli": { "version": ">= 0.47.0" }, "build": { "development": { "developmentClient": true, "distribution": "internal" }, "preview": { "distribution": "internal" }, "production": { "env": { "GOOGLE_SERVICES_FILE": "./google-services.json" }, "cache": { "key": "invalidate" } } }, "submit": { "production": { "android" : { "serviceAccountKeyPath" : "./pc-api-7387457854337633877-609-ee047539bcac.json" }, "ios":{ "appleId": "bizworkscontact@gmail.com", "ascAppId": "1615541614", "appleTeamId":"4J293PP8TP" } } } }
아직 안해본 처리 내역
Please post the output of expo doctor and npm why lottie-react-native.
728x90'React-Native > [RN]Expo' 카테고리의 다른 글