[Flutter] CocoaPods not installed or not in valid state

2023. 2. 24. 01:16Developers 공간 [Shorts]/Frontend

728x90
반응형
<분류>
A. 수단
- OS/Platform/Tool : Linux, Kubernetes(k8s), Docker, AWS
- Package Manager : node.js, yarn, brew, 
- Compiler/Transpillar : React, Nvcc, gcc/g++, Babel, Flutter

- Module Bundler  : React, Webpack, Parcel

B. 언어
- C/C++, python, Javacsript, Typescript, Go-Lang, CUDA, Dart, HTML/CSS

C. 라이브러리 및 프레임워크 및 SDK
- OpenCV, OpenCL, FastAPI, PyTorch, Tensorflow, Nsight

 


1. What? (현상)

flutter를 실행하는 방법은 Terminal에서 flutter run 명령어를 실행하는 방법과, 안드로이드 스튜디오의 Run 버튼을 활용하는 방법이있습니다. (debug모드로 빌드를 해 실행해줍니다)

iOS mobile 시뮬레이터로 Run 버튼을 실행을 한 경우 아래와 같은 에러가 납니다..

Launching lib/main.dart on iPhone 12 in debug mode…
Warning: CocoaPods not installed. Skipping pod install.
CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
CocoaPods not installed or not in valid state.
Error launching application on iPhone 12.

근데, flutter run 명령어로 실행을 하면 실행이 잘된다.

그래서 pod --version로 확인해보니 잘 깔려 있다.


2. Why? (원인)

  • pod가 없다고 뜨는 이유는
    1. 안 깔려있거나
    2. 안드로이드 스튜디오의 문제이거나
    3. 환경 변수가 잘 셋팅이 되어있지 않거나
      • ~/.profile(Linux), ~/.zshrc(ZShell), ~/.bashrc(Bash), ~/.bash_profile(Bash)
      • echo $SHELL 명령어로 위의 어떤 shell을 쓰는 지 확인 후에 아래를 입력해줍니다.
      • export PATH="$PATH:{설치위치}/flutter/bin"
        export PATH="$PATH:~/.pub-cache/bin"
  • 위 순서대로 해결방법을 알아보겠습니다.

 


3. How? (해결책)

  • 1. 안 깔려있거나
    • flutter doctor -v 를 실행해 Xcode 아래 cocoaPods 가 설치되어 있는지 확인해봅니다.
    • 없다면 brew install cocoapods 혹은 gem install cocoapods

[flutter doctor -v 결과]

  • 2. 안드로이드 스튜디오의 문제이거나
    • File > Invalidate Caches / Restart : 기존의 캐시를 없애고 다시 실행해 봅니다.
  • 3. 환경 변수가 잘 셋팅이 되어있지 않거나
    • 방법1. open /Applications/Android\ Studio.app 명령어를 활용해 OS의 terminal을 활용해 실행합니다.
    • 방법2. 근본적으로 원인을 해결하려면 위에 언급된 것처럼 안드로이드 스튜디오에서 사용하는 Shell을 찾아 위 환경 변수를 등록해주면 됩니다.

 

여기까지 해도 해결이 안되는 경우는 없지만

방법1을 쓰지 않고 안드로이드 스튜디오의 Run 버튼을 활용하고 싶은데,

안드로이드 스튜디오 내의 환경변수가 달라서 Terminal에서는 가능한데도 실행이 안되는 경우가 있다.

 

이건 안드로이드 스튜디오를 실행시의 환경변수 PATH를 잘 설정해야할텐데, 아직 원인을 찾는중이다.


 

728x90
반응형