iOS Resolver
iOS Resolver 사용시 pod 설치오류#
Ruby 버전 이슈
iOS Resolver 에러 메시지
ERROR: Error installing cocoapods: There are no versions of cocoapods-downloader (>= 2.0) compatible with your Ruby & RubyGems. Maybe try installing an older version of the gem you're looking for? cocoapods-downloader requires Ruby version >= 2.7.4. The current ruby version is 2.6.10.210.
Unity iOS Resolver는 내부적으로 bash 쉘을 사용합니다. 따라서 rbenv 등으로 Ruby 버전 설정을 zsh 쉘에만 적용한 경우, Resolver 실행 시 해당 설정을 인식하지 못하고 macOS에 내장된 시스템 Ruby가 동작하게 됩니다. 이로 인해 요구 버전보다 낮은 Ruby가 사용되어 CocoaPods 설치가 실패합니다.
Cocoapods 설치 가이드#
개요#
Pod 설치를 위해 필요한 Ruby 설치 및 설정, 그리고 CocoaPods 설치 과정을 설명합니다.
🍎 macOS에서 rbenv로 Ruby 버전 관리하기#
1. macOS 기본 Ruby의 한계#
macOS에는 시스템 Ruby가 기본으로 포함되어 있지만 다음과 같은 제약이 있습니다.
fastlane,bundler등 설치 시 sudo 권한 요구- 프로젝트별 Ruby 버전이 다를 경우 충돌 발생
- 삭제·재설치를 반복으로 인한 환경 오염
해결 방법
rbenv를 사용하면 프로젝트별로 Ruby 버전을 독립적으로 관리할 수 있습니다.
2. rbenv 설치#
# rbenv 및 ruby-build 설치
brew install rbenv ruby-build
# 설치 확인
rbenv versions
출력 예시:
* system (set by /Users/...)
Note
Homebrew가 이미 설치되어 있다는 가정하에 진행합니다.
3. 설치 가능한 Ruby 버전 확인 및 설치#
# 설치 가능한 버전 목록 확인
rbenv install -l
# 특정 버전 설치
rbenv install {version}
4. 설치된 Ruby 확인 및 버전 전환#
# 설치된 Ruby 목록 확인
rbenv versions
예시:
* system (set by /Users/username/.rbenv/version)
3.2.9
Global 버전 변경:
rbenv global 3.2.9
5. 환경 변수 설정#
Info
vi 사용법이 익숙하지 않다면 다른 에디터(nano, code 등)를 사용해도 무방합니다.
zsh 사용 시#
vi ~/.zshrc
아래 내용 추가:
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
bash 사용 시#
vi ~/.bash_profile
동일 내용 추가:
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
bash 설정이 필요한 이유
Unity의 iOS Resolver가 내부적으로 bash 쉘을 강제로 사용합니다.
bash에 rbenv 설정이 없으면 시스템 Ruby를 사용하게 되어
Resolver의 pod 설치가 실패할 수 있습니다.
6. 설정된 Ruby 버전 확인#
Important
터미널을 완전히 종료 후 다시 실행하세요.
ruby --version
시스템 Ruby가 아닌, rbenv로 설정한 버전이 출력되면 정상입니다.
CocoaPods 설치#
Prerequisite
반드시 rbenv로 Ruby가 설정된 상태에서 진행해야 합니다.
- CocoaPods 설치
gem install cocoapods
- 설치 확인
pod --version
문제 해결#
pod 명령을 찾을 수 없는 경우#
rbenv rehash
여전히 system Ruby가 보이는 경우#
- 터미널 재시작
which ruby경로 확인.zshrc / .bash_profile설정 재점검
🎉 이제 Unity iOS Resolver에서 정상적으로 CocoaPods를 사용할 수 있습니다.