강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

dvdve님의 프로필 이미지
dvdve

작성한 질문수

핸즈온 리액트 네이티브

10.20 :: 수정 기능 만들기

expo 가 업데이트 되면서 문제가 발생한거같습니다.

작성

·

206

0

expo 가 업데이트 되면서 오류가 발생한거 같은데

 

아무리 찾아봐도 해결을 못하겠어서 질문드립니다ㅠ

 

오류는
LOG [Error: Component auth has not been registered yet]

LOG [FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call initializeApp() first (app/no-app).]

깃주소는
https://github.com/dvrakry/rn-photo2
입니다 감사합니다!

답변 2

0

김범준님의 프로필 이미지
김범준
지식공유자

안녕하세요,

 

기존에 사용하던 expo 버전으로 진행하세요.

특별한 이유가 없다면 진행중인 프로젝트의 버전은 변경하지 않는것을 추천합니다.

아래 명령어로 이전 커밋으로 돌린 후 작업하고 다시 진행하세요.

 

git reset --hard <hash>

여기서 hash값에 이전 커밋인 https://github.com/dvrakry/rn-photo2/commit/e6d97e7c109acfe5230a461791e34d7ae58f4292 의 hash값을 입력하면 됩니다.

git reset --hard e6d97e

 

그리고 작업을 하고 커밋을 푸쉬할때 에러가 발생할텐데 --force 명령어를 이용해서 강제로 푸쉬하면 덮어쓰면서 진행됩니다.

 

git push --force

 

dvdve님의 프로필 이미지
dvdve
질문자

git reset --hard e6d97e
git push --force

이 방법으로 돌리긴했는데요.

오류.jpg.webp


그 핸드폰 expo go 어플자체가 업데이트가 진행되어서 생기는 문제인거 같아서 다시 질문드립니다...

저렇게 되돌려도 똑같은 오류가 발생하는 상황입니다ㅠ


LOG [Error: Component auth has not been registered yet]

LOG [FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call initializeApp() first (app/no-app).]

 

어떻게 진행해야 할까요?ㅜㅜ

김범준님의 프로필 이미지
김범준
지식공유자

expo go 버전도 낮춰야합니다.

말씀하신대로 메시지에 나와있듯이 expo go는 53이고, expo 프로젝트 버전은 52라서 문제가 발생하는겁니다. 이전 에러와는 다른 에러입니다.

맥북에서 ios 시뮬레이터로 돌리고 있다면, 프로젝트를 다시 실행하고 터미널에서 i를 눌러서 ios로 실행하세요. 그러면 프로젝트가 52버전이니 expo go 52버전을 설치하겠냐고 물어봅니다. Y를 눌러서 다시 설치하면 문제 없이 동작합니다.

김범준님의 프로필 이미지
김범준
지식공유자

참고로, 아이폰에서 진행중이라면 expo go 앱을 52로 돌릴수 있는 방법은 없습니다.

김범준님의 프로필 이미지
김범준
지식공유자

추가로, git push --force는 다시 작업하고 push할 코드가 있을때 사용하라고 알려드린 커맨드입니다.

 

해당 hash 값으로 이전 commit으로 코드를 돌리고, 52 버전에서 작업하세요.

작업이 끝나고 코드를 push하려고 하면 에러가 발생할텐데, 그때 --force 명령어를 이용해서 덮어쓰시면 됩니다.

 

더 자세한 git 커맨드는 git 문서에서 확인하시기 바랍니다.

https://git-scm.com/docs/git-push

김범준님의 프로필 이미지
김범준
지식공유자

현재 Expo 53과 firebase 라이브러리를 함께 사용했을때 문제가 발생하는 것으로 보입니다.

비슷한 사례가 있는데, 해결이 아직 안된것 같습니다. https://stackoverflow.com/questions/79602687/react-native-expo-firebase-auth-component-auth-has-not-been-registered-yet

 

문제가 해결될때까지 기다리는 방법도 있지만, 언제 해결될지 알 수 없습니다.

앞에서 설명한대로 52버전을 사용하는것을 추천합니다.

0

안녕하세요, 인프런 AI 인턴입니다. dvdve님.

Expo 업데이트 후 발생한 오류는 대개 업데이트로 인한 설정 간격, 모듈 호환성 문제 등에서 비롯될 수 있습니다. 두 가지 주요 오류에 대해 설명드리겠습니다.

  1. Component auth has not been registered:

    • 이 오류는 대개 리액트 네이티브의 컴포넌트나 화면 전환을 담당하는 네비게이션 구조에서 발생합니다. 네비게이터에 등록이 안 된 컴포넌트를 사용하려고 할 때 발생할 수 있습니다.
    • 관련하여 안녕하세요. 스택네비게이션 문제 질문드립니다 ㅜ에서 유사한 문제가 논의되었으며, 네비게이터에 컴포넌트를 명확히 등록하는 방법에 대한 유용한 정보를 제공합니다.
  2. Firebase: No Firebase App ‘[DEFAULT]’ has been created:

해결 방안:
- Firebase 설정 파일에서 initializeApp 함수가 호출되고 있는지 확인하세요. 이는 Firebase가 시작되기 전에 필수적으로 요청됩니다.
- 네비게이션 라이브러리를 사용하여 모든 컴포넌트가 올바르게 등록되었는지 검토해주세요. createAppContainercreateStackNavigator를 적절한 방식으로 사용했는지 확인하시기 바랍니다.
- 추가적으로 오류 로그를 통해 초기화 부분과 등록 과정을 세부적으로 다시 점검하시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dvdve님의 프로필 이미지
dvdve

작성한 질문수

질문하기