해결된 질문
작성
·
125
·
수정됨
0
개발환경 및 상황
window, Node 22.14.0, react: ^19.0.0, react-native: 0.79.2, expo ^53.0.9
SDK 53으로 올리면서 react19이 강제 되어, react19를 사용하였습니다. 대부분의 라이브러리들이 react18을 기반으로 되어있어 의존성 충돌이 일어나, 강의에서 사용된 라이브러리는 --legacy-peer-deps로 설치하여 개발은 가능하였습니다.
문제
라이브러리 사용까지는 상관없었는데, '[7-5] 개발빌드 실행 및 알림 수신하기'의 EAS 빌드를 위하여 eas build --profile development (--clear-cache) 를 사용하였는데 npm ci단계에서 peer dependecy충돌로 빌드가 실패하고있습니다.
에러 메세지
expo build detail
Install dependencies
Running "npm ci" in /home/expo/workingdir/build directory
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: @react-native/virtualized-lists@0.79.2
npm warn Found: @types/react@18.3.21
npm warn node_modules/@types/react
npm warn dev @types/react@"~18.3.12" from the root project
npm warn 4 more (@radix-ui/react-compose-refs, @radix-ui/react-slot, ...)
npm warn
npm warn Could not resolve dependency:
npm warn peerOptional @types/react@"^19.0.0" from @react-native/virtualized-lists@0.79.2
npm warn node_modules/@react-native/virtualized-lists
npm warn @react-native/virtualized-lists@"0.79.2" from react-native@0.79.2
npm warn node_modules/react-native
npm warn
npm warn Conflicting peer dependency: @types/react@19.1.8
npm warn node_modules/@types/react
npm warn peerOptional @types/react@"^19.0.0" from @react-native/virtualized-lists@0.79.2
npm warn node_modules/@react-native/virtualized-lists
npm warn @react-native/virtualized-lists@"0.79.2" from react-native@0.79.2
npm warn node_modules/react-native
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: react-native@0.79.2
npm error Found: @types/react@18.3.21
npm error node_modules/@types/react
npm error dev @types/react@"~18.3.12" from the root project
npm error peerOptional @types/react@"*" from @radix-ui/react-compose-refs@1.1.2
npm error node_modules/@radix-ui/react-compose-refs
npm error @radix-ui/react-compose-refs@"1.1.2" from @radix-ui/react-slot@1.2.0
npm error node_modules/@radix-ui/react-slot
npm error @radix-ui/react-slot@"1.2.0" from expo-router@5.0.7
npm error node_modules/expo-router
npm error expo-router@"~5.0.7" from the root project
npm error 3 more (@radix-ui/react-slot, ...)
npm error
npm error Could not resolve dependency:
npm error peerOptional @types/react@"^19.0.0" from react-native@0.79.2
npm error node_modules/react-native
npm error react-native@"0.79.2" from the root project
npm error peer react-native@"*" from @expo/metro-runtime@5.0.4
npm error node_modules/@expo/metro-runtime
npm error peerOptional @expo/metro-runtime@"*" from expo@53.0.9
npm error node_modules/expo
npm error expo@"^53.0.9" from the root project
npm error 25 more (expo-application, expo-asset, expo-blur, expo-constants, ...)
npm error 1 more (expo-router)
npm error 30 more (@expo/vector-icons, @react-native/virtualized-lists, ...)
npm error
npm error Conflicting peer dependency: @types/react@19.1.8
npm error node_modules/@types/react
npm error peerOptional @types/react@"^19.0.0" from react-native@0.79.2
npm error node_modules/react-native
npm error react-native@"0.79.2" from the root project
npm error peer react-native@"*" from @expo/metro-runtime@5.0.4
npm error node_modules/@expo/metro-runtime
npm error peerOptional @expo/metro-runtime@"*" from expo@53.0.9
npm error node_modules/expo
npm error expo@"^53.0.9" from the root project
npm error 25 more (expo-application, expo-asset, expo-blur, expo-constants, ...)
npm error 1 more (expo-router)
npm error 30 more (@expo/vector-icons, @react-native/virtualized-lists, ...)
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /home/expo/.npm/_logs/2025-06-23T04_14_21_012Z-eresolve-report.txt
npm error A complete log of this run can be found in: /home/expo/.npm/_logs/2025-06-23T04_14_21_012Z-debug-0.log
npm ci exited with non-zero code: 1
시도 했던 방법
npm ci 우회
npm ci 를 우회하기 위하여 pacakge.json에 npm install --legacy-peer-deps 로 우회하는 쉘스크립트도 사용해봤는데, (chmod 로 권한 설정 & LF 줄바꿈) permission denied 로 빌드되지 않았습니다. "scripts": {
"start": "expo start",
"eas-build-pre-install": ".eas/build/pre-install.sh", .eos/build/pre-install.sh ,
...}
https://github.com/miloe2/rn-practice/commit/16f0c2448cd138eb63ab7385dea3b7c0d89b50e9
라이브러리 업데이트
타입만 우선적으로 업데이트하였는데( types/@react18.3.12 => 19.1.8, )
그 외에도 react19가 지원하지 않는 다른 라이브러리들 (react-test-render 등)이 있어서 실패.
에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다.
질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github을 첨부해주세요.
개발중인 OS, ReactNative, Node 버전 등의 개발환경을 알려주셔야합니다.
에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다.
에러 잘라서 올리시면 안됩니다!
답변 1
0
강의와 동일한 라이브러리와 코드를 사용하셨나요?
제가 expo53버전, rn0.79.2버전으로 개발 빌드를 해보았는데 성공했습니다.
[Note] Expo 53 버전 안내 강의 > 수업자료에 코드 공유해드릴테니 참고해보시겠어요?