내려받은 Flutter 프로젝트가 실행이 안 될 때 해결 방법

 ・ 2 min

photo by Mathias Reding on Unsplash

다른 사람이 만든 플러터 프로젝트를 보며 클린 아키텍처에 대해 배울 겸 깃허브에서 프로젝트를 찾다가 괜찮은 걸 발견했어요. 그런데 git clone 명령으로 내려받고 iOS 시뮬레이터로 프로젝트를 구동시켜 보니 바로 되질 않았어요. 이 문제를 해결해서 프로젝트를 구동하는 방법을 적어보려고 해요.

먼저 저는 clean_architecture_todo_app 라는 프로젝트를 내려받을 거예요. 터미널을 열고 원하는 위치에 아래 명령을 실행해 주세요.

git clone https://github.com/rodydavis/clean_architecture_todo_app.git

그리고 해당 프로젝트를 VS Code로 열고 main.dart를 열어주세요. 그런 다음 F5키를 눌러 디버그 동작을 실행할 거예요. 그러면 아래와 비슷한 오류 메시지가 나올 거예요.

image

저는 rbenv를 사용하고 있어요. 루트 프로젝트에서 rbenv local 3.2.2 명령문을 입력했어요. 그러면 루트 프로젝트에 .ruby-version 파일이 만들어져요. 이 부분은 필수는 아닌 것 같지만 저는 macOS라 내장된 루비 버전이 2이기 때문에 버전 3 이상이 필요해서 적용했어요.

루트 프로젝트에서 ios 폴더를 들어가세요. pod install 명령을 실행할 거예요. 그럼, 아래처럼 진행돼요.
image

pod install을 했으니 잘 됐겠지 싶지만, 디버그 모드로 실행하면 아래처럼 .pub-cache 폴더 아래에서 많은 버전 문제가 발생해요.
image

바로 이 문제를 해결하기 위해 이번 글을 쓴다고 봐도 무방해요. 방법은 쉽지만 되는 방법을 찾는 게 은근 어려웠어요.

먼저 루트 프로젝트로 이동해서 flutter pub upgrade 명령을 실행해 주세요. 그러면 프로젝트 환경에서 제 로컬 환경에서 사용 가능한 버전으로 pubspec.lock 파일이 변경될 거예요.
image

그런데도 다시 디버그 모드로 실행해 보면 이번에 ruby쪽에서 에러가 나요. 제 생각이지만 의존하고 있는 cocoapod쪽 버전들도 올려줘야 할 것 같았어요.
image

ios 폴더로 다시 들어간 뒤, pod repo update 명령을 실행한 뒤 다시 디버그 모드로 실행해 보면 똑같은 에러가 나요. 대신 pod update 명령을 실행해 주세요. 그런 아래처럼 패키지들이 설치될 거예요.
image

그리고 다시 디버그 모드를 실행하면 정상적으로 될 거예요!
image

방법을 알면 이렇게 쉬운데 적절한 명령어를 수행해야 하는 걸 판단하기까지 시행착오를 오래 걸렸네요..
그래도 잘 되어서 다행이에요!


Change happens when the pain of holding on becomes greater than the fear of letting go.

— Spencer Johnson


Other posts
cover_image
 ・ 1 min

VS Code에서 Flutter DevTools 브라우저로 여는 법

cover_image
 ・ 6 min

리눅스 디렉토리별 설명

cover_image
 ・ 4 min

낯선 사람과 이야기하기 좋은 주제