인프런 커뮤니티 질문&답변

채명수님의 프로필 이미지
채명수

작성한 질문수

맛집 지도앱 만들기 (React Native + NestJS)

[1-5] 프로젝트 생성 및 ruby 에러 해결

[해결 완료] 빌드 에뮬레이터는 열리지만 프로젝트가 열리지 않습니다.

해결된 질문

작성

·

220

·

수정됨

0

  • 질문 작성시 꼭 참고해주세요

    • 최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.

    • 맥/윈도우, 안드로이드/iOS, ReactNative, Node 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다.

       

    • 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. (일부만 자르거나 일부만 복사해서 올려주시면 답변이 어렵습니다.)

       

  • m1 맥

  • ios

  • Node : 20.10.0

  • ruby : 3.1.0 - 2.7.6 버전으로 다운받고 실행했을때 cocoapods가 현재는 2.7.6버전이 아닌 3.1.0버전 이상이 필요하다하여 사용했습니다.

cd ios
rm -rf Pods
rm -rf Podfile.lock
pod install

위 명령어를 사용해서 pod도 재설치 한 뒤 xcode로 실행해도 빌드가 되지 않습니다.


xcode에서는 아래와같은 오류가 나옵니다.
Command PhaseScriptExecution failed with a nonzero exit code

 

vscode에서는 아래와 같이 나옵니다.
info Opening the app on iOS...

info Found Xcode workspace "MatzipApp_01.xcworkspace"

info No booted devices or simulators found. Launching first available simulator...

info Launching iPhone SE (3rd generation) (iOS 18.0)

info Building (using "xcodebuild -workspace MatzipApp_01.xcworkspace -configuration Debug -scheme MatzipApp_01 -destination id=675A0CA6-486F-4EF1-A232-AAC4D04C438D")

info 💡 Tip: Make sure that you have set up your development environment correctly, by running react-native doctor. To read more about doctor command visit: https://github.com/react-native-community/cli/blob/main/packages/cli-doctor/README.md#doctor

Command line invocation:

/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace MatzipApp_01.xcworkspace -configuration Debug -scheme MatzipApp_01 -destination id=675A0CA6-486F-4EF1-A232-AAC4D04C438D

User defaults from command line:

IDEPackageSupportUseBuiltinSCM = YES

Prepare packages

ComputeTargetDependencyGraph

note: Building targets in dependency order

note: Target dependency graph (56 targets)

Target 'MatzipApp_01' in project 'MatzipApp_01'

➜ Implicit dependency on target 'Pods-MatzipApp_01' in project 'Pods' via file 'libPods-MatzipApp_01.a' in build phase 'Link Binary'

➜ Implicit dependency on target 'CocoaAsyncSocket' in project 'Pods' via options '-lCocoaAsyncSocket' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'DoubleConversion' in project 'Pods' via options '-lDoubleConversion' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'Flipper' in project 'Pods' via options '-lFlipper' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'Flipper-Boost-iOSX' in project 'Pods' via options '-lFlipper-Boost-iOSX' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'Flipper-Fmt' in project 'Pods' via options '-lFlipper-Fmt' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'Flipper-Folly' in project 'Pods' via options '-lFlipper-Folly' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'Flipper-PeerTalk' in project 'Pods' via options '-lFlipper-PeerTalk' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'FlipperKit' in project 'Pods' via options '-lFlipperKit' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'RCT-Folly' in project 'Pods' via options '-lRCT-Folly' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'RCTTypeSafety' in project 'Pods' via options '-lRCTTypeSafety' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-Codegen' in project 'Pods' via options '-lReact-Codegen' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-Core' in project 'Pods' via options '-lReact-Core' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-CoreModules' in project 'Pods' via options '-lReact-CoreModules' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-NativeModulesApple' in project 'Pods' via options '-lReact-NativeModulesApple' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTAnimation' in project 'Pods' via options '-lReact-RCTAnimation' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTAppDelegate' in project 'Pods' via options '-lReact-RCTAppDelegate' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTBlob' in project 'Pods' via options '-lReact-RCTBlob' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTImage' in project 'Pods' via options '-lReact-RCTImage' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTLinking' in project 'Pods' via options '-lReact-RCTLinking' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTNetwork' in project 'Pods' via options '-lReact-RCTNetwork' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTSettings' in project 'Pods' via options '-lReact-RCTSettings' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTText' in project 'Pods' via options '-lReact-RCTText' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-RCTVibration' in project 'Pods' via options '-lReact-RCTVibration' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-cxxreact' in project 'Pods' via options '-lReact-cxxreact' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-debug' in project 'Pods' via options '-lReact-debug' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-hermes' in project 'Pods' via options '-lReact-hermes' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-jsi' in project 'Pods' via options '-lReact-jsi' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-jsiexecutor' in project 'Pods' via options '-lReact-jsiexecutor' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-jsinspector' in project 'Pods' via options '-lReact-jsinspector' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-logger' in project 'Pods' via options '-lReact-logger' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-perflogger' in project 'Pods' via options '-lReact-perflogger' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-runtimescheduler' in project 'Pods' via options '-lReact-runtimescheduler' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'React-utils' in project 'Pods' via options '-lReact-utils' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'ReactCommon' in project 'Pods' via options '-lReactCommon' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'SocketRocket' in project 'Pods' via options '-lSocketRocket' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'Yoga' in project 'Pods' via options '-lYoga' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'YogaKit' in project 'Pods' via options '-lYogaKit' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'fmt' in project 'Pods' via options '-lfmt' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'glog' in project 'Pods' via options '-lglog' in build setting 'OTHER_LDFLAGS'

➜ Implicit dependency on target 'libevent' in project 'Pods' via options '-llibevent' in build setting 'OTHER_LDFLAGS'

Target 'Pods-MatzipApp_01' in project 'Pods'

➜ Explicit dependency on target 'CocoaAsyncSocket' in project 'Pods'

➜ Explicit dependency on target 'DoubleConversion' in project 'Pods'

➜ Explicit dependency on target 'FBLazyVector' in project 'Pods'

➜ Explicit dependency on target 'FBReactNativeSpec' in project 'Pods'

➜ Explicit dependency on target 'Flipper' in project 'Pods'

➜ Explicit dependency on target 'Flipper-Boost-iOSX' in project 'Pods'

➜ Explicit dependency on target 'Flipper-DoubleConversion' in project 'Pods'

➜ Explicit dependency on target 'Flipper-Fmt' in project 'Pods'

➜ Explicit dependency on target 'Flipper-Folly' in project 'Pods'

➜ Explicit dependency on target 'Flipper-Glog' in project 'Pods'

➜ Explicit dependency on target 'Flipper-PeerTalk' in project 'Pods'

➜ Explicit dependency on target 'FlipperKit' in project 'Pods'

➜ Explicit dependency on target 'OpenSSL-Universal' in project 'Pods'

➜ Explicit dependency on target 'RCT-Folly' in project 'Pods'

➜ Explicit dependency on target 'RCTRequired' in project 'Pods'

➜ Explicit dependency on target 'RCTTypeSafety' in project 'Pods'

➜ Explicit dependency on target 'React' in project 'Pods'

➜ Explicit dependency on target 'React-Codegen' in project 'Pods'

➜ Explicit dependency on target 'React-Core' in project 'Pods'

➜ Explicit dependency on target 'React-CoreModules' in project 'Pods'

➜ Explicit dependency on target 'React-NativeModulesApple' in project 'Pods'

➜ Explicit dependency on target 'React-RCTActionSheet' in project 'Pods'

➜ Explicit dependency on target 'React-RCTAnimation' in project 'Pods'

➜ Explicit dependency on target 'React-RCTAppDelegate' in project 'Pods'

➜ Explicit dependency on target 'React-RCTBlob' in project 'Pods'

 

답변 2

0

Kyo님의 프로필 이미지
Kyo
지식공유자

https://github.com/facebook/react-native/issues/36762

위의 이슈링크에 다양한 해결방법이 있는데 확인해보시겠어요?

https://github.com/facebook/react-native/issues/36762#issuecomment-1493813388

https://github.com/facebook/react-native/issues/36762#issuecomment-1535910492

이슈링크에서 많은 리액션을 받은 코멘트들인데요

 

방법이 여러가지인만큼 모두 같은에러가 아닐수도있어서 추가적인 에러로그도 확인해보시면 좋을것같습니다.

확인방법은 아래 사진 참고해주세요

https://github.com/facebook/react-native/issues/36762#issuecomment-1917117007

 

채명수님의 프로필 이미지
채명수
질문자

 

해결 과정

  1. node 버전을 20.10.0 버전에서 21.1.0으로 변경해줬습니다. 최대한 강사님과 똑같은 환경을 만들어 주려고 버전을 높여줬습니다.

  2. 프로젝트를 생성할 때 경로의 한글과 띄어쓰기가 없이 영문으로만 작성해줬습니다.

  3. npx react-native@0.72.6 init MatzipApp --version 0.72.6 --npm 명령어를 통해 npm으로 바로 빌드가 되게 했습니다. 어째서인지 --npm명령어를 넣지않고 프로젝트를 만들면 yarn 빌드 오류가 나와서 npm으로 바로 빌드를 하기 위함이었습니다.

    npx react-native@0.72.6 init MatzipApp --version 0.72.6 --npm
  4. sudo gem update cocoapods명령어를 통해 cocoapods를 업데이트 해줬습니다.
    sudo gem update cocoapods

  5. MatzipApp/ios경로로 들어가 pod install을 해주었습니다. 저는 업데이트를 했지만 ios경로의 Pods와 Podfile.lock를 지웠다 다시 까셔도 될 것 같습니다.
    pod install

  6. xcode를 열어 ios폴더 내부의 .xcworkspace를 열고 command + shift + k 단축키를 눌러 build folder clean을 실행해줍니다. 그 후 빌드를 해서 나오는 콘솔을 확인합니다.

  7. 나오는 콘솔에서 저는 Flipper관련 오류를 확인했습니다.

     

  8. (애플 실리콘 칩에서) 버전 오류 해결 이후
    No template named ‘unary_function’ in namespace ‘std’; did you mean ‘__unary_function 오류(
    https://a-rang.medium.com/m1-%EC%9D%B4%EC%83%81-apple-silicon%EC%97%90%EC%84%9C-ios-%EC%8B%A4%ED%8C%A8%EC%8B%9C-%ED%95%B4%EB%B3%BC%EB%A7%8C%ED%95%9C-%EB%B0%A9%EB%B2%95-bb390210c7bf)
    - ios/PodFile 경로에 코드 추가

    //  ios/Podfile
    
    post_install do |installer|
    
       ... 
    
        __apply_Xcode_12_5_M1_post_install_workaround(installer)
    // 여기서부터 추가해줬습니다.
        installer.pods_project.targets.each do |target|
          target.build_configurations.each do |config|
          # // 1. 버전 오류 해결을 위한 코드 
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
          # // 2. 애플 실리콘 칩에서 unary_function 오류 해결을 위한 코드
          config.build_settings["GCC_PREPROCESSOR_DEFINITIONS"] ||= ["$(inherited)", "_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION"]
      end
    end
  • 추가 후 아래 명령어 실행

     

sed -i '' "11s/.*/#include <functional>/g" ios/Pods/Flipper/xplat/Flipper/FlipperTransportTypes.h
  • ios/.xcode.env 파일에 환경변수 추가
    NO_FLIPPER=1

     

이렇게 한 뒤 xcode에서 빌드 클린을 진행한 뒤 빌드에 성공했습니다. 커뮤니티의 강프로그래머 님이 작성해주신 질문글 중 '[해결 완료] ios 실행 시 빌드 오류' 글에서 정보를 얻었습니다.
m1맥을 쓰시는분들 혹시 도움이 되셨으면 좋겠습니다!

0

안녕하세요, 인프런 AI 인턴입니다. 채명수님의 상황에 대해서 도움을 드릴 수 있는 정보를 찾아보았습니다.

채명수님께서 겪고 계신 문제는 iOS 시뮬레이터에서 React Native 앱이 제대로 실행되지 않는 것으로 보입니다. 이는 ‘Command PhaseScriptExecution failed with a nonzero exit code’와 같은 오류 메시지에서 알 수 있습니다. 다음은 이러한 문제를 해결할 수 있는 방법들입니다.

가능한 해결책:

  1. Xcode Command Line Tools 확인:

    • Xcode 및 Command Line Tools가 최신 버전인지 확인해 주세요. 경우에 따라 Command Line Tools의 경로를 명시적으로 설정해야 할 수 있습니다:
      
      sudo xcode-select --switch /Applications/Xcode.app
      

  2. Pod 재설치:

    • Pod을 재설치하는 과정에서 문제가 발생할 수 있습니다. 아래 명령어를 사용하여 ios 폴더 내 Pod을 제거하고 다시 설치해 보세요:
      
      cd ios
      rm -rf Pods
      rm -rf Podfile.lock
      pod install
      cd ..
      

  3. Derived Data 삭제:

    • Xcode의 빌드 캐시가 문제가 될 수 있습니다. Derived Data를 삭제하는 것도 방법입니다:
      
      rm -rf ~/Library/Developer/Xcode/DerivedData
      

  4. 개발 환경 점검:

    • npx react-native doctor 명령어를 사용해 개발 환경을 점검하고, 제안된 해결책을 따르세요.
  5. FlipperKit 비활성화:

    • 때때로 FlipperKit과 관련된 문제가 있을 수 있습니다. Podfile에서 FlipperKit을 비활성화하거나 관련 설정을 수정해 보세요.

관련 질문 및 해결 사례:

이러한 방법들이 채명수님께서 겪고 계신 문제를 해결하는 데 도움이 되기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적인 도움이 필요하시다면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

채명수님의 프로필 이미지
채명수

작성한 질문수

질문하기