[EAS] Multiple versions of Reanimated were detected

Keonwoo Kim·2023년 11월 20일
0

EAS build로 development client를 만들려고 했는데 로컬에서는 발생하지 않던 Multiple versions of Reanimated were detected 에러가 발생했다.

해결 방법:

공식 문서 참조

npm why react-native-reanimated로 무슨 버전들이 충돌하는지 알 수 있다. expo-router 등 내부 디펜던시로 사용되는 react-native-reanimated가 무슨 이유에선지 최신 버전으로 다운로드 되는데 expo doctor가 추천하는 react-native-reanimated의 버전은 최신은 아니기 때문이다.

아래와 같이 overrides (npm, pnpm, bun)나 resolutions (yarn, bun) 필드를 작성해 주면 된다.

  1. package.json이나 npm why react-native-reanimated를 이용해서 무슨 버전이 사용되고 있는지 확인한다.
  2. package.jsonoverrides (혹은 resolutions)에 "react-native-reanimated": "<버전>"을 추가한다.
"overrides": {
  "react-native-reanimated": <Reanimated version>
}
  1. 모듈 설치를 다시 진행하고 npm why react-native-reanimated로 버전이 override된 것을 확인한다. (peerOptional overridden 등)
$ npm why react-native-reanimated
react-native-reanimated@3.3.0 overridden
node_modules/react-native-reanimated
  react-native-reanimated@"~3.3.0" from the root project
  peerOptional overridden react-native-reanimated@"~3.3.0" (was "*") from expo-router@2.0.12
  node_modules/expo-router
    expo-router@"^2.0.0" from the root project
  peer overridden react-native-reanimated@"~3.3.0" (was ">= 1.0.0") from @react-navigation/drawer@6.6.6
  node_modules/@react-navigation/drawer
    peerOptional @react-navigation/drawer@"^6.5.8" from expo-router@2.0.12
    node_modules/expo-router
      expo-router@"^2.0.0" from the root project

0개의 댓글