Error installing cocoapods 해결 후, CocoaPods 업그레이드하는 법
최신 코코아팟(CocoaPods)으로 업그레이드하기
맥을 Sonama(14.1.1)로 업그레이드를 하고 XCode17에 대응하기 위해 코코아팟을 업그레이드하려 했습니다. 그런데 sudo gem install cocoapods
을 했더니 다음과 같은 오류가 발생했습니다.
Fetching cocoapods-downloader-2.0.gem
Fetching cocoapods-core-1.14.2.gem
Fetching cocoapods-1.14.2.gem
ERROR: Error installing cocoapods:
There are no versions of cocoapods-downloader (>= 2.0)
compatible with your Ruby & RubyGems
원인
루비(Ruby) & 패키지 매니저(RubyGems)의 버전이 낮아서 CocoaPods 업그레이드가 진행되지 않았습니다.
이때 저는 ruby -v
로 현재 루비 버전을 확인해보니 ruby 2.6.10p210
이었고 더 높은 버전으로의 업그레이드가 필요했습니다.
해결법
루비를 업그레이드하면 됩니다.
rbenv란?
유사 Unix환경에서 사용할 수 있는 루비 언어를 위한 버전 관리자입니다. 여러 버전의 루비를 번갈아가며 사용해야 할 때 사용할 수 있는 유용한 툴입니다. 다른 언어 환경에서도 nvm(Node 버전 관리자)같이 유사한 툴이 있습니다.
인터넷을 보면 brew를 쓰는 등 다양한 방법으로 루비를 업그레이드할 수 있었는데 저는 그중 가장 문제가 없고 편해 보였던 rbenv를 이용해서 최신 버전의 루비를 깔았습니다.
아래에서는 rbenv로 System에 기본적으로 깔린 system 루비 대신 새로운 최신 버전의 루비 설치하는 법을 다뤄보겠습니다~.
1. rbenv
설치
brew install rbenv
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc # .zshrc에 rbenv init 추가
source .zshrc # .zshrc에 다시 한번 불러오기
2. rbenv
로 최신 루비 다운로드
rbenv install {버전명]
으로 특정 루비를 다운로드할 수 있습니다.rbenv install -l | grep -v - | tail -1
는 현재 다운 가능한 stable ruby들 중 제일 위(최신) 버전을 반환합니다.
따라서 아래의 명령어를 쓰면 최신 루비를 다운 받습니다.
rbenv install $(rbenv install -l | grep -v - | tail -1) # 최신 버전 루비 설치
3. 버전이 낮았던 시스템 루비 대신 방금 다운로드한 루비를 기본으로 설정
rbenv global $(rbenv install -l | grep -v - | tail -1) # 최신 버전의 루비를 전역으로 설정
ruby -v # 버전이 최신 버전으로 올랐는지 확인
4. 최신 코코아팟 설치
sudo gem install cocoapods # cocoapod 설치
pod --version # cocoapod이 업그레이드 됐는지 확인
제대로 제가 설정한 루비에 최신 코코아팟이 깔렸는지는 다음의 명령어로 CocoaPods의 최신 경로를 출력하게 해서 확인할 수도 있습니다.
gem which cocoapods
플러터(Flutter)에서 코코아팟을 쓰고자 하는 경우
혹시 실리콘 맥이면서 플러터에서 코코아팟을 쓰고자 한다면 다음의 명령어도 실행합니다.
sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc # 실리콘 맥을 쓰는 경우
참고한 블로그
댓글
이 글 공유하기
다른 글
-
캐시
캐시
2025.03.20 -
폰 노이만 구조의 특징
폰 노이만 구조의 특징
2025.03.20 -
Container화 한 Spring Boot 3의 baseUrl을 Nginx header로 알맞게 바꿔주자!
Container화 한 Spring Boot 3의 baseUrl을 Nginx header로 알맞게 바꿔주자!
2025.03.04 -
Flutter3.0 Firebase 연동하기
Flutter3.0 Firebase 연동하기
2023.10.05