Categories: Program

M1 Mac Pro Flutter 설치와 CocoaPods 이슈해결

자세한 설명은 아래 사이트에서 확인 가능하다.
https://flutter-ko.dev
https://flutter.dev

flutter를 설치하기 전 Android Studio, Xcode, Chrome, VSCode 또는 Dart언어를 지원하는 IDE(IntelliJ 등) 이 설치되어 있어야 한다.

Intel Mac에서 Silicon(M1/2) Mac으로 Migration한 사용자는 HomeBrew이슈가 있으므로 아래 참고사항을 먼저 확인하길 바란다.

1. 공식설명대로 Apple Silicon Mac에서는 Rosetta가 필수 조건이므로 아래의 명령을 이용한다.

sudo softwareupdate --install-rosetta --agree-to-license

국문 사이트에서는 다운로드 링크가 원할하지 않으니 영문 사이트에서(https://docs.flutter.dev/get-started/install/macos) Apple Silicon SDK 다운로드를 진행한다.

2. 다운받은 압축파일을 원하는 위치에 추출하고 path를 설정한다.
필자의 경우 bash shell을 사용하지 않고 zsh을 사용하기에 아래와 같이 설정하였다

echo $SHELL
vi ~/.zshrc

파일의 제일 하단에 아래와 같이 flutter의 bin 디렉토리를 PATH에 추가한다

export PATH="$PATH:$HOME/flutter/bin"
source ~/.zshrc
echo $PATH

3. flutter doctor를 실행하여 필요사항들을 확인한다.

flutter doctor

flutter doctor를 실행한 필자의 화면인데 기존에 Android Studio와 Xcode만 설치해놓은 상태로 아래 한가지의 문제점이 있다는것을 확인하였다.

자세한 내역을 원할때는 옵션 -v를 활용해보자.

flutter doctor -v

CocoPods 이슈를 해결하기 위해 cocoapods 재설치를 진행하였다.
필자와 같이 잘 사용하던 brew 명령이 안되는 경우 아래 이슈해결 참고.

sudo gem uninstall cocoapods
brew install cocoapods
brew link --overwrite cocoapods

설치가 안되어 있는 경우 아래를 참고한다.

sudo gem install cocoapods
pod setup

마지막으로 이슈가 있는지 확인하였다.


추가사항

Android toolchain에서 이슈가 발생하는 사용자는 Android Studio에서 SDK Tools > Android SDK Command-line Tools를 인스톨 하면 해결된다.


참고

필자의 경우 Silicon Mac에서는 brew 실행 시 오류가 날 수 있는데 Intel Mac과 M1 Mac의 설정이 다르기 때문이다.
HOMEBREW_PREFIX: /usr/local 을 /opt/homebrew 로 변경하여야 한다.
(아마도 기존 Intel 에서 M1으로 migration 했기 때문에 발생하는 문제점인듯 하다. )

Silicon Mac 에서 사용할 수 있는 brew를 재설치 하기 위해 아래와 같이 brew를 uninstall하고 새로 설치하였다.


이때 주의할 점은 brew를 통해 설치된 패키지도 같이 삭제되기 때문에 brew list명령을 이용하여 설치된 패키지 목록을 확보하고 필요시 brew 재설치 후 다시 설치해야 한다는 점이다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
/bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh)"