🥑 맥 Cocoapods 설치 오류

sudo gem install cocoapods 커맨드를 통해 cocoapods(코코아팟)을 설치하려고 하는데 아래와 같은 오류가 발생했습니다.

development tools 설치가 선행되지 않았을 경우, Ruby 버전이 낮을 경우 등 여러 경우에서 나타납니다.

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:546:in `block in try_link0'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/tmpdir.rb:93:in `mktmpdir'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:543:in `try_link0'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:570:in `try_link'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:672:in `try_ldflags'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1832:in `pkg_config'
	from extconf.rb:9:in `system_libffi_usable?'
	from extconf.rb:42:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/ffi-1.15.3/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/ffi-1.15.3/gem_make.out

✨ 맥 Cocoapods 설치 오류 해결방법

xcode-select 설치

맥 Cocoapods 설치 오류 해결을 위해 터미널에 xcode-select --install 을 입력하여 xcode-select을 설치합니다.

만약, 맥 Cocoapods 설치 오류가 해결되지 않고 아래와 같은 결과를 반환할 경우는 이미 xcode-select이 설치되어 있는 경우입니다.

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

❌ 이미 xcode-select가 설치되어 있을 경우 아래 다른 방법을 시도합니다.

brew install ruby

맥 Cocoapods 설치 오류를 다른 방법으로 해결하기 위해 먼저 brew install ruby 를 입력하여 ruby를 설치합니다.

설치 후 sudo gem install -n /usr/local/bin cocoapods로 지정하여 cocoapods를 설치합니다.

❌ 이 방법도 동작하지 않을 경우 아래를 참고하여 설치합니다.

이전 버전으로 설치

최신 버전과 버전이 맞지 않아 설치가 안 될 수 있습니다.

sudo gem install cocoapods -v 1.8.4

버전을 하위버전으로 지정해주면 오류가 대부분은 해결됩니다.

➕ 이 버전을 그대로 지우고 싶다면 sudo gem uninstall cocoapods -v 1.8.4로 지울 수 있습니다.

🤷‍♂️ 하지만 설치완료 후 리액트 네이티브 프로젝트를 새로 생성하려고 하면 OpenSSL-Universal requires CocoaPods version >= 1.9, which is not satisfied by your current version, 1.8.4. 등의 오류가 반환됩니다. 이는 낮은 cocoapods 버전을 지원하지 않기 때문입니다.

이는 Ruby 버전을 업데이트 해주어야 해결되는 문제입니다.

이 포스팅을 참고하면 루비를 완전하게 업데이트하고, 최신 버전의 cocoapods를 사용할 수 있습니다.

업데이트 후 sudo gem install cocoapods을 입력합니다.

❌ brew로 설치(비추천)

일반적인 경우에는 위 포스팅 링크를 참고하면 해결이 완료되지만, 이런 방법도 있으므로 기재합니다.

하지만 brew로 설치할 경우 추후 링크로 인한 문제가 발생할 수 있어 앞의 방법으로 맥 Cocoapods 설치 오류가 전혀 해결되지 않을 경우에만 진행하는 것이 좋습니다. 제 의미를 못합니다.

맥 Cocoapods 설치 오류를 해결하기 위해 gem이 아닌 brew를 통해 cocoapods(코코아팟)을 설치합니다.

차례로 한 줄씩 입력합니다.

brew cleanup -d -v

brew install cocoapods

cocoapods이 정상적으로 설치됩니다.

pod --version

버전 확인으로 설치가 정상적으로 완료되었는지 확인합니다.

brew link cocoapods 또는 이 포스팅을 참고하세요.

맥 Cocoapods 설치 오류 해결된 모습

맥 Cocoapods 설치 오류 해결이 완료되었습니다. brew로 설치하는 것 보다 버전을 지정하여 이전 버전으로 설치하는 것을 추천합니다.