개발노트

2. [Firebase] 오류 FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command. 해결하기 본문

서버 개발/Firebase

2. [Firebase] 오류 FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command. 해결하기

mroh1226 2023. 11. 22. 13:32
반응형

잘되던 Flutter - firebase CLI 연동이 아래 오류로 갑자기 먹통이 되었다.

같은 문제로 헤매이는 분들을 위해 해결법을 공유합니다.

 

flutterfire configure 명령어를 수행 시 아래와 같이 오류가 발생하였다.

i Found 0 Firebase projects.
FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command.
COMMAND: firebase projects:list --json
ERROR: Failed to list Firebase projects. See firebase-debug.log for more info.

 

이전에 올렸던 Flutter - Firebase 연동 포스팅대로 다시 시도를 해보았지만 결과는 같았고,

https://mroh1226.tistory.com/67

 

1. [Firebase] 시작하기 (Flutter와 Firebase 연동)

Flutter 앱에 Firebase 를 사용하여 API Server와 DB를 구성하려고 한다면 다음과 같이 진행해주세요. Window용 Firebase CLI 설치하기 -링크: https://firebase.google.com/docs/flutter/setup?hl=ko&platform=ios Flutter 앱에 Fireba

mroh1226.tistory.com


구글링을 해보니 다시 로그인하라는 해결책을 찾았다.

Firebase CLI에 다시 들어가보니 이미 로그인이 되어있었고, 계정에는 문제가 없었다.

 

로그인이 잘되어있는데 왜 되질않은 것일까 궁금해 챗 GPT에게 답변을 요구하였고, 답변 중 다시 로그인하여 새로운 토큰을 받아야한다는 답변이 있어 재로그인을 시도해보기로 한다.


아래 명령어로 Firebase로 부터 로그아웃을 하니, 토큰 관련 이야기가 정말 나왔다.

firebase logout

 

 

챗 GPT가 아래와같이 해결책과 원인을 자세히 알려주었다.

오류 메시지가 나오는 원인:

  • 이 오류 메시지는 Firebase CLI에서 사용되는 사용자의 리프레시 토큰이 유효하지 않다는 것을 나타냅니다.
  • 리프레시 토큰은 사용자를 인증하고 액세스 토큰을 갱신하는 데 사용됩니다.
  • 해당 메시지에 "did not need to deauthorize"라고 나와 있으므로, Firebase CLI가 인증을 해제(deauthorize)하지 않아도 될 정도로 문제가 심각하지 않다는 것을 의미합니다. 인증을 해제하는 것은 사용자를 로그아웃하는 것과 유사합니다.

해결방법:

  • 재인증 시도:
    firebase login 명령어로 Firebase CLI에서 다시 로그인하여 새로운 리프레시 토큰을 받아옵니다.
  • Firebase 권한 확인:
    Firebase Console에 로그인하여 해당 이메일 주소로 로그인할 수 있는지 확인하세요. 
  • 계정 재연결:
    Firebase CLI에서 firebase logout 명령어를 사용하여 로그아웃한 후, 다시 firebase login 명령어를 사용하여 로그인해 보세요.
  • Firebase CLI 업데이트:
    터미널에서 npm install -g firebase-tools 명령어를 사용하여 최신버전으로 업데이트할 수 있습니다.

이제 아래 명령어로 Firebase에 다시 로그인을 해서 새로운 토큰을 받자

firebase login

명령어를 작성하면 정보수집하겠냐고 묻는데 'y' (동의) Enter 하면된다.

 

재로그인 성공

 


새로운 토큰을 받았으니, 이제 되겠지?

다시, flutterfire configure를 작성하면, 명령어가 먹는다.!

 

이제 다시 Firebase Projects를 다룰 수 있게 되었다. 해결!

 

지원할 플랫폼을 선택함 (체크) 스페이스바로 체크를 풀 수 있음

 

결론: 토큰이 만료되어 생겼던 오류이며, 새로운 토큰을 받기위해 Firebase 재로그인 및 인증하여 해결하면 됨.

반응형
Comments