==================== DEPRECATION NOTICE =====================
Calling `pod install` directly is deprecated in React Native
because we are moving away from Cocoapods toward alternative
solutions to build the project.
* If you are using Expo, please run:
`npx expo run:ios`
* If you are using the Community CLI, please run:
`yarn ios`
=============================================================
[!] Do not use "pod install" from inside Rosetta2 (x86_64 emulation on arm64).
[!] - Emulated x86_64 is slower than native arm64
[!] - May result in mixed architectures in rubygems (eg: ffi_c.bundle files may be x86_64 with an arm64 interpreter)
[!] Run "env /usr/bin/arch -arm64 /bin/bash --login" then try again.
[!] RNNotifee: using Notification Service Extension.
[!] hermes-engine has added 1 script phase. Please inspect before executing a build. See `https://guides.cocoapods.org/syntax/podspec.html#script_phases` for more information.
⏺ 1. pod install 가 Rosetta2에서 실행되는 이유
M2 맥북인데도 Rosetta2 경고가 나오는 이유는 터미널이나 Ruby가 x86_64 모드로 실행되고 있기 때문입니다.
마이그레이션으로 옮겨온 경우 다음이 원인일 수 있습니다:
- 터미널 앱 자체가 Rosetta 모드로 설정됨
- Ruby/rbenv/CocoaPods가 Intel 버전으로 설치됨
- 환경변수나 PATH가 Intel 버전을 가리킴
⏺ 2. 아키텍처 혼용 문제
Rosetta2에서 pod install을 실행하면:
- 성능 저하: x86_64 에뮬레이션으로 느려짐
- 아키텍처 혼용: ffi_c.bundle 같은 네이티브 라이브러리가 x86_64로 컴파일되는데 Ruby 인터프리터는 arm64일 수
있음
- 빌드 오류 가능성: 혼합된 아키텍처로 인한 예기치 못한 오류
⏺ 3. 해결 방법
즉시 해결 (임시):
env /usr/bin/arch -arm64 /bin/bash --login
cd ios && pod install
근본적 해결:
1. 터미널 앱 확인:
- Applications > Terminal > 우클릭 > Get Info
- "Open using Rosetta" 체크 해제
2. Ruby 재설치 (arm64 네이티브):
# 현재 아키텍처 확인
uname -m # arm64여야 함
which ruby
ruby -e "puts RUBY_PLATFORM"
# rbenv 사용 시
rbenv uninstall [현재버전]
rbenv install [최신버전]
rbenv global [최신버전]
# 또는 Homebrew로 Ruby 재설치
brew uninstall ruby
brew install ruby
3. CocoaPods 재설치:
gem uninstall cocoapods
gem install cocoapods
⏺ 4. Deprecation Notice 대응
React Native은 CocoaPods에서 다른 솔루션으로 전환 중입니다.
권장 사용법:
- Expo 사용 시: npx expo run:ios
- Community CLI 사용 시: yarn ios
현재 프로젝트에서는 yarn ios 명령어를 사용하는 것이 좋습니다.
5. 추가 경고들
- RNNotifee: Notification Service Extension 사용 중 (정상)
- hermes-engine: 스크립트 단계 추가됨 (빌드 전 검토 권장)
⏺ 요약: 마이그레이션으로 인해 Intel 버전 Ruby/CocoaPods가 설치되어 있을 가능성이 높습니다. arm64 네이티브
환경으로 재설치하고, 앞으로는 yarn ios 명령어를 사용하세요.
React Native의 방향성:
- 현재: CocoaPods 사용 중 (하지만 deprecated)
- 미래: CocoaPods 없이 다른 솔루션으로 전환 예정
현재 상황에서는:
1. yarn ios가 내부적으로 pod install을 자동 실행합니다
2. 하지만 여전히 CocoaPods 의존성이 필요합니다
3. 에러 코드 65는 Xcode 빌드 실패를 의미합니다
당분간은:
- pod install 여전히 필요
- yarn ios 사용 권장 (자동으로 pod install 실행)
- 빌드 실패 시 pod install 수동 실행 필요할 수 있음
완전히 CocoaPods 없어지는 시기:
- React Native 0.82+ 이후 단계적으로
- 아직 구체적인 일정은 미정
⏺ 결론: 지금은 여전히 CocoaPods가 필요하고, yarn ios 실패 시 pod install을 직접 실행해야 할 수도 있습니다.
'REACT & NODE' 카테고리의 다른 글
| React Native에서 Cheerio 사용하기: TypeScript 타입 선언 완벽 가이드 (0) | 2025.09.21 |
|---|---|
| 안드로이드에서는 실제 배포된 앱이 아니면 결제가 실제로 이루어지지 않습니다. (0) | 2025.09.18 |
| .env (0) | 2025.09.17 |
| React Native 0.81 and Expo 54 (0) | 2025.09.16 |
| React Native 0.79 and Expo 53 (2) | 2025.07.02 |