[Flutter] 프로젝트 클론 후 실행 시 오류

SSO·2023년 12월 1일
0

App-Develop-Study

목록 보기
6/6

플러터 앱을 클론 받은 후 바로 앱을 빌드해보니 아래와 같은 에러를 만났다🤬

Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
pod repo update

발생 이유

  • 코코아팟의 설정이 깨졌거나 SDK의 버전 종속성이 맞지 않을때 발생하는 에러

해결

  • 코코아팟의 레포를 업데이트 해주면 해결된다고 한다.
    • ios 폴더 내 Podfile.lock 삭제
    • /ios 폴더 위치에서 pod install --repo-update
    • 캐시를 삭제해주기 위해서 flutter clean
    • 이후 다시 빌드 flutter run

지금까지 웹프로젝트를 클론해서 가져오면 yarn install 과정을 통해서 프로젝트에 필요한 dependency들을 설치하고 나서 프로젝트를 실행하고는 했는데 위의 과정이 이 과정과 동일한 역할이라고 생각하면 될 듯!

혹시 m1, m2칩이 탑재된 맥북을 사용하는 맥북 유저들의 경우 위의 방법으로도 해결이 안될 수 있다.

그때는 아래 링크를 참고하자^3^

Flutter: CocoaPods's specs repository is too out-of-date to satisfy dependencies


코코아팟 사양을 업데이트한 후에 호기롭게 다시 앱을 빌드해보니 나타난 새로운 에러;;
업데이트가 했는데도 왜 자꾸 이 경고가 떴고 빌드도 안됬다.

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target Runner to Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig or include the Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig in your build configuration (Flutter/Release.xcconfig).
  • 경고가 뜨는 이유 위의 오류는 Pods/Target Support Files/ 폴더에 있는 _Runner 폴더 안에 *.xcconfig 파일이 현재 프로젝트 설정에 적용되어 있지 않기 때문에 CocoaPods가 적용되지 않았기 때문이다.

위의 경고 해결한 링크 참고
참고링크

해결하고 다시 run 돌렸더니 처음 에러 다시뜸;;; 이게 바로 무한루프의 연속 ∞
그래서 결국 프로젝트 코코아팟 버전에 맞춰서 코코아팟을 다시 깔기로 했다.
내 버전은 1.14.x 버전이고 프로젝트는 1.13.x버전으로 버전을 낮춰보기로 방향으로 변경 …ㅠㅡㅠ
근데 삭제하고 다시 설치해도 버전을 낮추는게 또 속썩임ㅠ

나는 파일들을 설치할 때 homebrew 패키지 매니저를 사용하는데 이걸로 설치하면 맥에 설치된 루비가 버전이 낮아 지원을 안해서라고 한다.

결국 최종 변경 루트

  • 루비를 다시 깔아서 버전을 3.x.x 로 업데이트 하고 적용한다.
    • 아니 근데 루비를 새로 깔았더니 이제는 적용이 안되요,,
    • 이런 경우는 xcode의 업데이트가 필요할 경우도 있으니 우선 xcode-select --install 을 해본다.
    • 나는 저기서 이미 설치가 되있다는 에러가 다시 발생해 xcode CommandLineTool을 삭제하고 프로그램을 다시 설치한다.
    • 이래도 문제 해결이 안된다면 macOS 자체를 업데이트한다.
  • 관리자 모드(sudo)로 다시 코코아팟을 설치한다.
    • 이후 sudo gem install cocoapods -v 버전 이렇게 설치를 했다.

🥹 내 한탄

결론적으로 내 문제는 위의 방법들로는 위에 방법들로는 해결할 수 없는 문제였다...
내가 아주아주 바보같은 삽질을 했기 때문!!!!
ios어플을 빌드하는데 선택하는 리스트에 애뮬레이터가 안떠서 자꾸 맥os에서 빌드를 시키니 무한루프에 빠지는게 당연하지 이 멍청아,,;

그래서 xcode에서 오프라인으로 애뮬레이터를 켜놓고 flutter run 을 실행했다.
물론 바로 해결되지는 않았고 내가 설치한 플러터 버전이 높아서 업그레이드 하는 과정에서 에러가 발생해서 결국 빌드를 실패했다.
그래서 flutter version manager 역할을 하는 fvm을 설치해 프로젝트 버전과 맞는 flutter 버전을 설치한 후 프로젝트에 해당 버전을 적용시켰다.
그런 다음 fvm flutter run 을 실행하니!!!!! 드디어 빌드 성공ㅠㅠㅠㅠㅠㅠ
진짜 얼마만에 한 삽질이냐 ㅠㅠㅠㅠ 그래도 문제를 해결해서 얼마나 다행인지🥲

추가로 써보자면

  • fvm을 사용하지 않고 내 컴퓨터에 깔린 플러터 버전 자체를 내리는 방법도 있으나 homebrew를 사용해 설치했을 경우 바꾸는 과정이 꽤 복잡하고 바꾸는 과정에서도 다른 에러를 많이 만났다,,
  • 반면에 fvm을 사용하면 여러 프로젝트가 있을 때 각 프로젝트 별로 버전을 다르게 적용시켜서 사용할 수 있다!
  • 필요한 버전을 골라 fvm install 플러터 버전을 통해 원하는 버전을 설치한다.
  • 프로젝트의 루트로 경로를 이동한 후 fvm use 버전을 하면 그 프로젝트에서는 따로 다른 버전을 사용할 수 있는 것이다!

fvm 사용 방법 참고 링크


그 외 문제 해결하면서 참고하기 좋았던 링크들

[환경세팅] 예전 버전 cocoapods 설치 (1.9.1)
ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension
[CocoaPods] 코코아팟 버전 downgrade

profile
👩🏻‍💻👊🏻⭐️

0개의 댓글