🧨
[ 에러 발생 경로 ] -> pod install
[ 해결한 방법 ]
에러 발생 이유
기존 URL이 만료되어 잘못된 파일이 다운로드되면서 발생, 이로 인해 체크섬이 일치하지 않아 설치가 실패하는 문제가 보고되었음.
해결 방법 - 2025년 기준
React Native 프로젝트의
node_modules/react-native/third-party-podspecs/boost.podspec
파일을 열어spec.source
항목을 다음과 같이 수정
// 잘 보면 http 부분 주소 경로가 다름 spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2', :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }
노드모듈이 재생성 되어도 수정 사항을 유지할 수 있도록 하기
patch-package
설치npm install --save-dev patch-package postinstall-postinstall
package.json
에 스크립트 추가"scripts": { "postinstall": "patch-package" }
boost.podspec
수정 후 패치 생성npx patch-package react-native
프로젝트 클린 및 재설치
rm -rf node_modules ios/Pods ios/Podfile.lock package-lock.json npm install cd ios && pod install
[ 시도 과정 ]
추정하는 에러 발생 이유
pod install
과정에서[!] Error installing boost
가 발생하는 주요 원인은 React Native 프로젝트에서 사용 중인 Boost 라이브러리 버전이 현재 React Native 버전 및 iOS 빌드 환경과 호환되지 않기 때문일 가능성이 큼.
특히, React Native 버전별로 요구하는 iOS SDK 및 Xcode 버전, 그리고 그에 맞는 Boost 컴파일러 설정과 버전이 다르기 때문에, Boost의 특정 버전이 빌드 도중 충돌을 일으킬 수 있음.
또한, Boost의 CocoaPods 포드 스펙 자체가 React Native 프로젝트 환경에 맞지 않거나, 네트워크 문제, 캐시 문제 등으로 인해 설치가 실패할 수도 있으나, 가장 흔한 원인은 Boost 버전과 React Native(iOS) 빌드 환경 간의 호환성 문제이다.
해결 방법
React Native 버전과 호환되는 Boost 버전을 확인
Xcode 버전과 iOS SDK 호환성도 함께 검토
pod repo update
및pod cache clean
후 리트라이
시도한 해결방법(🚨🚨🚨이렇게 하면 안됨🚨🚨🚨)
“pod repo update”, “pod cache clean”(해결 안 됨)호환되는 버전으로 변경🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉(해결 된 줄 알았지만 안 됨)현재 사용중인 버전은 [ Xcode 버전: 16.3 ], [ iOS SDK 버전: 18.4 ]로
이 조합은 React Native 0.72.5와 최신 Boost 버전(1.80 이상) 사용에 적합하나 boost 1.76.0버전을 사용중으로 발현되는 에러인것 같음Boost 버전 업데이트
brew install boost
- 업데이트 명령어brew cleanup boost
- 사용하지 않는 버전 제거(디스크 공간 절약)brew info boost
- 설치된 버전 확인node_modules/react-native/third-party-podspecs/boost.podspec
위 경로의 파일 내용중 아래 부분을 버전에 맞게 수정 나는 1.88.0을 사용하므로 아래와 같음spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.88.0/boost_1_88_0.tar.bz2', :sha256 => '46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5b12f7b' }
⚠️ spec.version은 건들지 말기!!!!!!
spec.version
은 CocoaPods 내부적으로 pod 버전을 관리하기 위해 사용하는 필드이며, 일반적으로 직접 수정하면 안 됨.
sha256해시값을 얻기 위한 명령어
curl -LO https://sourceforge.net/projects/boost/files/boost/1.88.0/boost_1_88_0.tar.bz2 shasum -a 256 boost_1_88_0.tar.bz2