ReactNative

[React-Native] 2. 기본 프로젝트 만들기 및 오류 정리

졸려질려 2023. 3. 20. 15:00
반응형

 본 글에서는 React-Native 기본 프로젝트를 생성하고, 그 과정에서 필자가 겪었던 오류를 해결한 방식에 대해 정리한다.

개발 환경
- M1 Macbook Pro (2021)
- OS: Ventura 13.2.1

1. 프로젝트 생성

npx react-native@latest init [PROJECT_NAME]

 [PROJECT_NAME] 공간에 원하는 프로젝트명을 넣어주면 된다. 그러면 입력한 이름의 RN 폴더와 함께 기본적인 템플릿이 생성된다. 필자의 경우에는 iOS 환경을 생성하면서 에러가 발생했었다. 발견한 에러와 이를 해결한 과정을 정리한다.


2. [ERROR] warn Multiple Podfiles were found

 이전에 Ruby 버전으로 에러가 발생했었는데, 이번에는 Cocopods dependencies 를 설치하는 과정에서 에러가 발생했다. 사실 위 에러를 해결하지 않더라도 Android 에서 동작하는 데에는 문제가 없었다. 기본적인 템플릿의 RN 폴더도 겉보기에는 정상적인 것처럼 생성되었다. 하지만, iOS 도 빌드를 해보고자 하는데 위 에러를 해결하지 않으면 안되겠다는 생각이 들었다. 그래서 위 에러를 해결해보고자 했다.


3. [Solution 1] Xcode 의 CommandLine Tools 버전 클릭

 

[react-native]error warn Multiple Podfiles were found

발생상황 터미널에 npx react-native init projectName을 입력하고 새로운 에러와 마주쳤다..^^ ✖ Installing CocoaPods dependencies (this may take a few minutes) error warn Multiple Podfiles were found: ios/Podfile,vendor/bundle/ruby/2.7

jaylee-log.tistory.com

 

error: warn Multiple Podfiles were found when trying to init react-native project in mac os · Issue #35801 · facebook/react-na

Description At first, when I tried to init a react-native project, "ruby version 2.5.7" error was shown. I updated ruby successfully to the required version using the guide and rbenv Now,...

github.com

 제일 처음 발견한 해결책은 상당히 단순했다. Xcode 의 Preferences 에서 Command Line Tools 버전을 다시 한 번 선택하는 것이다.

Cmd + , 단축키를 사용하면 한 번에 들어올 수 있다.

 위 사진에 표시된 것 중에서 Command Line Tools 에 있는 부분을 클릭하는 것이다. 버전이 이미 선택되어 있는 것 같지만, 다시 한번 선택해줘야 적용이 된다고 하는 것 같다. 하지만, 제대로 적용을 하지 못한 것인지, 필자에게는 잘 적용되지 않았다.... 혹시나 하는 마음에 위 부분을 한번 클릭하고, Xcode 를 닫지 않은 채로 다음 해결법을 적용해보았다.


4. [Solution 2] Bundle 과 iOS dependencies 재설치

 본 방법은 React-Native 공식 홈페이지에 나온 방법이다.

React-Native 공식홈의 해결법 캡쳐

 iOS 에 문제가 생겼을 때에는 위 사진에 나온 방법을 순차적으로 적용해보라고 한다. 그리고 필자는 위 방법대로 진행하여 해결할 수 있었다. 먼저, ios 폴더로 이동을 하고 "bundle install" 명령어를 입력했다.

ios 폴더 안에서 bundle install 실행 결과

 현재 터미널에 남아있기로는 한 번에 bundle install 이 성공적으로 마쳐진 것 같지만, 이전에 "bundle install" 에서도 에러가 발생했었다. 필자의 기억으로는 CocoaPods 에 대한 에러였던 것 같다. 그래서 CocoaPods 을 다시 재설치하였다. 그 후에 "bundle install" 을 다시 실행한 결과이다. 본론으로 돌아와서, "bundle install" 이 성공적으로 마쳐지면, 다음 단계로 넘어간다.

 "bundle exec pod install" 명령어를 실행하여 Pod dependencies 를 재설치한다. 그리고 이 부분에서 다시 에러가 발생했다.

ios 폴더 안에서 bundle exec pod install 실행 결과

 맨 처음에 마주한 에러문이 나타났다. 그리고 다행스럽게도 맨 아래에 원인들을 설명해준다. 그 중에서 필자는 첫번째 원인문에 있는 해결 명령어를 실행했다. "pod install --repo-update" 명령어를 바로 실행했다.

ios 폴더 안에서 pod install --repo-update 를 실행한 결과 1
ios 폴더 안에서 pod install --repo-update 를 실행한 결과 2

  "pod install --repo-update" 명령어는 한 번에 성공적으로 진행되었다. 그리고 바로 "bundle exec pod install" 명령어를 다시 실행해주었다. 

iost 폴더 안에서 다시 bundle exec pod install 을 실행한 결과

 다시 실행해보니 정상적으로 설치되었다....! 본 프로젝트만 이런 과정을 거치면 되는건지, 아니면 새 프로젝트마다 이렇게 해결해줘야하는지 궁금해서 test1 이름의 RN 프로젝트를 다시 만들어보았다.

test1 프로젝트를 새로 생성해본 결과

 이번에는 CocoaPods 에서 에러가 발생하지 않고, 모든게 순탄하게 설치되었다! 이제 RN 개발을 힘차게 해볼 차례이다!

반응형