이번에는 맥북에 flutter 환경을 설정하는 방법에 대해서 알아보겠습니다.
맥북 버전은 12.6.2 몬트레이 입니다.
기본적인 방법은 "https://docs.flutter.dev/get-started/install/macos" 사이트를 참고로 하였습니다.
1. Xcode 설치 - https://developer.apple.com/xcode/, 에 접속하여 xcode 14 를 앱스토어를 통해서 설치합니다. 파일 용량이 커서 시간이 좀 걸립니다.
앱스토어를 통해서 설치가 완료되면 터미널에서 아래 두 명령어를 실행합니다. Path 설정입니다.
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
"xcode-select -p" 명령어를 통해서 폴더 설정을 확인합니다.
mike@MIKEBSs-MacBook-Pro Developer % xcode-select -p
/Applications/Xcode.app/Contents/Developer
2. 로제타2 설치
sudo softwareupdate --install-rosetta --agree-to-license
3. flutter SDK 받기
- 참고사이트 : https://docs.flutter.dev/get-started/install/macos
HOME 폴더 아래에 압축 풀기, mike 폴더에 flutter 를 다운받아서 압축을 푼다.
4. .zshrc에 flutter path 설정 추가(cmd+shift+. 숨김파일 보기), 없으면 파일 생성해서 추가합니다.
export PATH="$PATH:$HOME/flutter/bin" 명령어를 .zshrc 파일에 추가. 파일이 없으면 생성한다.
source $HOME/.zshrc
파일 설정이 잘되어 있는지 확인한다. 또한 실행파일 위치도 잘 찾는지 확인한다.
echo $PATH
which flutter
5. 안드로이드 스튜디오 설치 - Mac with Apple chip
실행해서 안드 아이콘을 applications 아이콘으로 이동해주면 설치됨(드레그로 이동하는 방식).
import 설정 - "do not import settings"
(경우에 따라 다름) Kotlin plugin update available >> Update
다음 클릭하며 기본 설치 완료
More Actions >> SDK Manager >> Android SDK >> SDK tools
>> 3번째, Android SKD Command-line Tools(lastest) 선택, 적용, 완료 및 OK
>> 여기서 플러그들 추가 설치 >> flutter & dart
6. flutter doctor --android-licenses 실행 >> y 선택하며 계속 동의
# 가끔 여기서 아래 오류가 나는 경우가 있습니다.
# 저도 처음 설치할때는 오류가 없었는데, 1년정도 flutter 개발을 안하다가
# 다시 개발하려고 flutter doctor 에서 Android toolchain 오류가 보여져서
# "flutter doctor --android-licenses" 실행하니 아래와 같은 오류가 발생했습니다.
오류: 기본 클래스 com.android.sdklib.tool.sdkmanager.SdkManagerCli을(를) 로드하는 중 LinkageError가 발생했습니다.
java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
# 이런 분들은 아래 링크를 보고 이름 변경으로 해결 가능합니다.
여기까지는 자료도 많고 별다른 어려움 없이 설정이 가능하다.
=================== 여기부터가 문제가 자주 발생하는 부분입니다 ===================
=================== 여기부터가 문제가 자주 발생하는 부분입니다 ===================
7. cocoaPods 설치
말도 많고 문제도 많은 cocoapods 설치 부분입니다.
# 일반적으로 아래 명령어로 하면 된다는데, 오류가 나면서 되지 않았습니다.
# 오류 없이 설치가 잘되는 분들은 여기까지만 하면 됩니다.
sudo gem install cocoapods
가장 많이 발생하는 오류가 아래와 같습니다. 제 경우입니다.
구글링하니 툴(development tools) 설치해야한다면서 아래 명령어를 추천했습니다.
xcode-select --install
sudo xcodebuild -license
*** 이거 설치할때 path 설정이 변경되는 경우가 있는데, 아래 명령어로 확인하고 아래와 다르다면 아래처럼 설정한다.
mike@MIKEBSs-MacBook-Pro ~ % xcode-select -p
/Applications/Xcode.app/Contents/Developer
mike@MIKEBSs-MacBook-Pro ~ %
*** path 설정 정보가 다르다면 아래 명령어를 사용해서 변경해 주세요, 앞부분에서 사용한 명령어 입니다.
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
하지만, 여기까지 했는데도 cocoapods 가 설치가 되지 않았습니다. 오류는 앞에서 보여준 오류 메시지와 동일했습니다.
sudo gem install cocoapods
기존에 디폴트로 설치된 ruby 가 뭔가 문제가 많다고 해서 새로 설치하기로 했습니다.
설치는 brew 를 통해서 설치했습니다.
— brew 설치 명령어를 터미널에서 실행합니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
설정을 추가합니다.
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/mike/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/mike/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
brew 를 설치하고 나면 "xcode-select" 의 폴더 설정이 변경되는 경우가 있습니다.
저는 이렇게 변경되었습니다. ==> "/Library/Developer/CommandLineTools"
mike@MIKEBSs-MacBook-Pro ~ % xcode-select -p
/Library/Developer/CommandLineTools
mike@MIKEBSs-MacBook-Pro ~ %
(개인적인 추측) 전체 포멧하고 개발환경을 3,4번 정도 설정순서를 변경해 가면서 개발환경을 설정 하다보니, "xcode-select --install" 툴을 설치하기 전에 brew 를 먼저 설치하면, "xcode-select -p" 패스가 변경되는것 같습니다(개인적인 추측 ^^).
brew 가 설치될때 xcode 를 일부 설치합니다. ("/Library/Developer/CommandLineTools" 폴더가 없는 경우 발생)
아무튼 "xcode-select -p" 의 결과가 다르면 "flutter doctor" 에서 xcode 관련 오류가 있다고 오류메시지가 출력되니 참고하세요.
설치가 안되니 별걸 다해봤네요. gem 을 업데이트 해봤는데, 이것도 업데이트 중에 약간의 오류가 났습니다.
버전 업은 되었으나 오류 메시지는 캡쳐하지 못했네요.
루비를 새로 설치하면서 path 가 추가되면서 다른 버전이 실행됩니다. 뻘짓했네요.
which gem
mike@MIKEBSs-MacBook-Pro ~ % which gem
/usr/bin/gem
mike@MIKEBSs-MacBook-Pro ~ % gem -v
3.0.3.1
mike@MIKEBSs-MacBook-Pro ~ %
sudo gem update --system
mike@MIKEBSs-MacBook-Pro bin % gem -v
3.4.2
mike@MIKEBSs-MacBook-Pro bin % which gem
/usr/bin/gem
mike@MIKEBSs-MacBook-Pro bin %
거의 마지막 단계입니다. ruby 만 새로 설치하면 cocoapods 설치가 잘됩니다.
ruby 설치 - 요약정보를 잃어버리면 설정이 불가능해서 망합니다. 조심해야할 부분입니다.
brew install ruby
———————————————————————— 아래 내용은 설치완료시 출력되는 메시지입니다.
==> Summary
🍺 /opt/homebrew/Cellar/ruby/3.1.3: 16,149 files, 43.3MB
==> Running `brew cleanup ruby`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> ruby
By default, binaries installed by gem will be placed into:
/opt/homebrew/lib/ruby/gems/3.1.0/bin
You may want to add this to your PATH.
ruby is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
If you need to have ruby first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
For compilers to find ruby you may need to set:
export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
mike@MIKEBSs-MacBook-Pro ~ %
설치 완료되면 아래 정보를 .zshrc 파일에 추가해줍니다.
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
echo 'export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"' >> ~/.zshrc
echo 'export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"' >> ~/.zshrc
$ source ~/.zshrc
아래 명령어로 설정결과 확인합니다.
# 설정완료 후 설치된 ruby 버전 및 설치위치 확인필수.
mike@MIKEBSs-MacBook-Pro ~ % ruby -v
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [arm64-darwin21]
mike@MIKEBSs-MacBook-Pro ~ % which ruby
/opt/homebrew/opt/ruby/bin/ruby
mike@MIKEBSs-MacBook-Pro ~ %
# ruby를 새로 설치하면서 gem 도 새로운 버전이 생겼습니다.
mike@MIKEBSs-MacBook-Pro ~ % which gem
/opt/homebrew/opt/ruby/bin/gem
mike@MIKEBSs-MacBook-Pro ~ % gem --version
3.3.26
Path 우선순위를 확인해서 혹시라도 중복 설치된 cocoapods가 있다면, 버전 충돌이 생기지 않도록 주의해서 설치한다.
sudo gem install -n /usr/local/bin cocoapods
끝났습니다. 아래 명령어로 설치가 잘되었는지 확인합니다.
mike@MIKEBSs-MacBook-Pro bin % pod env
### Stack
```
CocoaPods : 1.11.3
Ruby : ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [arm64-darwin21]
RubyGems : 3.3.26
Host : macOS 12.6.2 (21G320)
Xcode : 14.2 (14C18)
Git : git version 2.37.1 (Apple Git-137.1)
Ruby lib dir : /opt/homebrew/Cellar/ruby/3.1.3/lib
Repositories :
```
### Installation Source
```
Executable Path: /usr/local/bin/pod
```
### Plugins
```
cocoapods-deintegrate : 1.0.5
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.1
cocoapods-trunk : 1.6.0
cocoapods-try : 1.2.0
```
mike@MIKEBSs-MacBook-Pro bin %
mike@MIKEBSs-MacBook-Pro ~ % flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.10, on macOS 12.6.2 21G320 darwin-arm, locale
ko-KR)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.74.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!
mike@MIKEBSs-MacBook-Pro ~ %
Flutter 기본 프로젝트 실행화면
'Flutter > 00 Configuration' 카테고리의 다른 글
[Flutter] MacOS - 아이폰 실기계에서 개발 (0) | 2023.01.12 |
---|---|
[Flutter] MacOS - github 인증 설정 (0) | 2023.01.04 |
[Flutter] MacOS - 터미널 프로그램 iTerm2 설정 (0) | 2023.01.04 |