본문 바로가기

major

react-native cocoapods 에러 해결

어제까지 잘 실행되던 react-native 프로젝트에서 iOS 빌드에 실패했습니다.

PhaseScriptExecution 
	[CP-User]\ Generate\ Specs /Users/kwon/Library/Developer/
    Xcode/DerivedData/AsapDemoApp-dqrcmlsedjdfvsdoevvsonwplqhx/Build/
    Intermediates.noindex/Pods.build/Debug-iphonesimulator/
    FBReactNativeSpec.build/Script-212C6E791CA78B81BDC3BF1F42DAB085.sh
error Failed to build iOS project. 
We ran "xcodebuild" command but it exited with error code 65. 
To debug build logs further, consider building your app with Xcode.app, 
by opening AsapDemoApp.xcworkspace.

npm run ios 에러

문제를 해결하기 위해서

1. 마지막으로 빌드 성공한 commit으로 rollback

2. node, npm, yarn 삭제 후 재설치

3. pod 삭제 후 재설치

4. podfile에서 아래 부분 주석처리 ☛ 참고

#use_flipper!()

#post_install do |installer|
#  react_native_post_install(installer)
#end

5. 컴퓨터 재시동

6. xcode 삭제 후 재설치

📌 새로운 react-native 프로젝트를 생성해서 빌드해도 똑같은 에러를 뿜으며 실패. android 빌드는 성공

 

[!] An error occurred while processing the post-install hook of the Podfile.

undefined method `fix_deployment_target' for #<Pod::Podfile:0x00007f843181bc00>

/Users/kwon/Documents/Projects/AsapDemoApp/ios/Podfile:31:in `block (3 levels) in from_ruby'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.0.beta.2/lib/cocoapods-core/podfile.rb:196:in `post_install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:945:in `run_podfile_post_install_hook'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:933:in `block in run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/user_interface.rb:149:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:932:in `run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:331:in `block (2 levels) in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer/xcode/pods_project_generator/pods_project_writer.rb:61:in `write!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:330:in `block in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:309:in `create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:301:in `generate_pods_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:180:in `integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/installer.rb:167:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/command/update.rb:63:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

이것저것 설치하고 삭제하는 과정에서 프로젝트랑 개발환경이 너무 꼬인것같아서 컴퓨터를 포맷해야하나 고민하는 찰나에 stack overflow에서 cocoapods 버전에 관련된 글을 찾았습니다.

 

그러고 나서 에러메시지를 다시 보니 cooapods-1.11.0.beta.2 👈 cocoapods 버전에 beta가 붙어있다는걸 깨닫고 급히 beta 버전을 삭제한 뒤 stable 버전으로 재설치했습니다.

// 삭제 명령어
sudo gem uninstall cocoapods

cocoapods의 github에서 stable 버전을 확인하고 설치했습니다. 2021년 8월 25일 기준으로 제일 최신 stable 버전은 1.10.2 입니다.

sudo gem install cocoapods -v 1.10.2

그러고 나서 Pod update, pod install을 해줬습니다.

cd ios

pod update

pod install

이후 프로젝트에서 npm run ios를 하니 정상적으로 실행되었습니다.

 

문제를 해결하고나서 생각해보니, RN 공부한답시고 책에 나온 예제를 그대로 따라하다가 "sudo gem install cocoapods --pre" 명령어를 따라한 기억이 떠오르더라구요😫 --pre 옵션때문에 beta버전으로 업데이트 되었고, 그것때문에 이틀꼬박 삽질하는 대형 문제가 발생했습니다🥲 이 삽질을 계기로 책 예제 따라할 때는 조심하자는 교훈을 얻게되었습니다.


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다 :D