이번에 새로 firebaseStore를 적용하려고 했는데, 갑자기 ios기기에서 빌드가 되지 않는 오류가 생겼다.
콘솔에 찍힌데로 해결해보고자 했으나
음.... 뭐지 싶었다..
다른 오류상황에서 했던 데로 pub.get도 다시 해보고, install도 다시 해봤지만 변화는 없었고, 오류가 나기 전 상황으로 돌리기 위해 설치했던 firestore 패키지를 삭제하니 정상 작동 되었다.
여기서 문제가 있다는 것은 알겠지만 구글링, chat GPT에서도 해결방안을 찾지 못하고 있을 때 flutter경력자 지인한테 물어보니 하는 말 ..
"버전은 다 통일했어??" ...정말 상상도 못했다
firebase를 이용할 때 firebasecore와 같은 버전으로 다 맞춰줘야 한다는 거였다.
같은 버전이라고 하면
firebase_core: ^2.12.0
이 숫자를 맞춰주는 것이 아니라
몇 번째 버전을 이용하고 있는 것인지에 따라 버전을 맞춰줘야 한다는 것이였다.
당연히 다 최신 버전으로 깔았을 것이라고 생각하고 확인해보니 core가 최근을 기준으로 위에서 4번째 버전... 나머지는 최신 버전이 설치되어 있었다. 처음 firebase 설치하고 초기 설정할 때 이런 저런 오류로 다운그레이드 했던 것이 생각났다..
firebase와 연결되는 버전을 다 알맞게 맞춰주니 정상작동 되었다 ㅠㅠ
firebaseCore와 나머지 서비스들의 버전을 맞춰줘야 하는 이유는 아래와 같다.
firebaseCore는 Firebase서비스를 사용하기 위해 필요한 기본적인 기능을 제공하는 라이브러리이며 Firebase 서비스의 초기화 및 구성에 사용된다. 그렇기 때문에 이 라이브러리는 다른 firebase의 서비스와의 상호작용을 위해 꼭 필요한 친구고, 모든 서비스의 핵심이 된다.
그렇기 때문에 firebaseCore를 기준으로 다른 서비스들의 버전을 맞춰줘야 하는데, 버전이 달라지게 되면 호환성과 의존성에서 문제가 생길 수 있다.
Firebase SDK는 주로 Gradle이나 CocoaPods와 같은 의존성 관리 도구를 사용하여 프로젝트에 추가된다. 이러한 의존성 관리 도구를 사용하면 프로젝트에서 필요한 Firebase 서비스들을 쉽게 추가하고 최신 버전으로 업데이트할 수 있으며, 불일치로 인한 문제를 방지할 수 있다.
flutter 버전이 업데이트 되어 최신버전으로 수정했다가 의존하는 많은 패키지들이 작동하지 않아 함께 수정했다는 이야기를 들어본 기억이 있었다.
이번에 이 오류를 경험하고 나니 저 말이 어찌 와닿던지...
패키지 버전관리가 얼마나 중요한지 다시금 깨달을 수 있던 날이였다.
'junior developer :) > Flutter & Dart' 카테고리의 다른 글
[flutter] bottomNavigationBar / appBar (6) | 2023.06.30 |
---|---|
[flutter]GetX Error(obx/the improper use of a GetX has been detected 오류) (4) | 2023.06.29 |
[flutter] getx 라우팅 관리 & argument 값 넘겨주기 (4) | 2023.06.26 |
[flutter]Cloud firestore (firebase 이용해서 CRUD 해보기) (4) | 2023.06.23 |
[flutter] futurebuilder(비동기 /여러개의 future List를 받아올 땐 future.wait) (4) | 2023.06.22 |