티스토리 뷰

728x90
반응형

진행중인 프로젝트에 푸시 알림 등의 서비스를 이용하는 데 역시 Google Firebase만한 게 없다.

이런 Firebase를 앱과 연동하고 사용하기 위해 Firebase와 관련된 라이브러리를 npm install 한 후

ios 디렉토리에서 pod install을 하게 되면 간혹 아래와 같은 문제로 충돌이 나는 경우가 있다.

 

[!] CocoaPods could not find compatible versions for pod "FirebaseCoreExtension":
  In snapshot (Podfile.lock):
    FirebaseCoreExtension (= 10.12.0)

  In Podfile:
    RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`) was resolved to 18.2.0, which depends on
      FirebaseCoreExtension (= 10.12.0)

None of your spec sources contain a spec satisfying the dependencies: `FirebaseCoreExtension (= 10.12.0), FirebaseCoreExtension (= 10.12.0)`.

 

사실 이러한 에러는 react-native-firebase/messaing 뿐만 아니라 다른 라이브러리를 설치했을 때에도 종종 발생하는 에러인데,

 

먼저 충돌이 발생하는 원인은

 

  1.  FirebaseCoreExtension 버전과 호환되는 다른 버전의 라이브러리가 있는 경우
  2.  다른 종속성이 충돌하는 경우

 

가 일반적이다. 

 

이를 해결하기 위해 podfile.lock을 지웠다가 다시 pod install을 진행하거나, 수동으로 버전을 맞춰주는 등의 방법이 있겠으나

프로젝트에 이미 많은 라이브러리가 있거나 프로젝트를 함께하는 다른 팀원들이 많은 경우 podfile.lock 파일을 함부로 건드리는 데에는

많은 위험 부담이 따른다.

 

사실 이럴 땐 터미널에 출력된 에러 메시지를 자세히 읽어보면 힌트가 나와있는 경우가 대부분인데, 이번에 다루는 에러 내용도 마찬가지이다.

 

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

 

에러 메시지의 아래쪽을 보면 위 메시지도 함께 출력된 것을 확인할 수 있는데,

첫 줄에 보면 Pod repo를 업데이트 하라고 명시되어 있는 것을 볼 수 있다.

 

사실 이 명령어가 만능은 아니지만, 가끔씩 npm install 하는 경우 CocoaPods에 업데이트가 제대로 반영되지 않아 발생하는 경우도 있으므로 이럴 땐 CocoaPods repo를 업데이트한 후에 다시 pod install 해보는 것을 추천한다.

 

해결 방법

터미널에서 다음 명령을 실행하자.

arch -x86_64 pod install --repo-update // M1 이상

					or

pod install --repo-update // intel

위 이미지와 같이 정상적으로 repo가 업데이트 되고 pod install도 정상적으로 이루어짐을 확인할 수 있다.


언젠가 에러 상황을 마주했을 때, 수많은 빨간색에 당황하지 말고 차근차근 에러 메시지를 읽어보는 습관을 기르자.

728x90
반응형
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함