본 글에서는 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 버전 클릭
제일 처음 발견한 해결책은 상당히 단순했다. Xcode 의 Preferences 에서 Command Line Tools 버전을 다시 한 번 선택하는 것이다.
위 사진에 표시된 것 중에서 Command Line Tools 에 있는 부분을 클릭하는 것이다. 버전이 이미 선택되어 있는 것 같지만, 다시 한번 선택해줘야 적용이 된다고 하는 것 같다. 하지만, 제대로 적용을 하지 못한 것인지, 필자에게는 잘 적용되지 않았다.... 혹시나 하는 마음에 위 부분을 한번 클릭하고, Xcode 를 닫지 않은 채로 다음 해결법을 적용해보았다.
4. [Solution 2] Bundle 과 iOS dependencies 재설치
본 방법은 React-Native 공식 홈페이지에 나온 방법이다.
iOS 에 문제가 생겼을 때에는 위 사진에 나온 방법을 순차적으로 적용해보라고 한다. 그리고 필자는 위 방법대로 진행하여 해결할 수 있었다. 먼저, ios 폴더로 이동을 하고 "bundle install" 명령어를 입력했다.
현재 터미널에 남아있기로는 한 번에 bundle install 이 성공적으로 마쳐진 것 같지만, 이전에 "bundle install" 에서도 에러가 발생했었다. 필자의 기억으로는 CocoaPods 에 대한 에러였던 것 같다. 그래서 CocoaPods 을 다시 재설치하였다. 그 후에 "bundle install" 을 다시 실행한 결과이다. 본론으로 돌아와서, "bundle install" 이 성공적으로 마쳐지면, 다음 단계로 넘어간다.
"bundle exec pod install" 명령어를 실행하여 Pod dependencies 를 재설치한다. 그리고 이 부분에서 다시 에러가 발생했다.
맨 처음에 마주한 에러문이 나타났다. 그리고 다행스럽게도 맨 아래에 원인들을 설명해준다. 그 중에서 필자는 첫번째 원인문에 있는 해결 명령어를 실행했다. "pod install --repo-update" 명령어를 바로 실행했다.
"pod install --repo-update" 명령어는 한 번에 성공적으로 진행되었다. 그리고 바로 "bundle exec pod install" 명령어를 다시 실행해주었다.
다시 실행해보니 정상적으로 설치되었다....! 본 프로젝트만 이런 과정을 거치면 되는건지, 아니면 새 프로젝트마다 이렇게 해결해줘야하는지 궁금해서 test1 이름의 RN 프로젝트를 다시 만들어보았다.
이번에는 CocoaPods 에서 에러가 발생하지 않고, 모든게 순탄하게 설치되었다! 이제 RN 개발을 힘차게 해볼 차례이다!
'ReactNative' 카테고리의 다른 글
[React-Native] iOS 빌드 에러(Compile C 에서 빌드 멈춤) / error: 'value' is unavailable (0) | 2023.04.07 |
---|---|
[React-Native] 3. React Native WebView 띄우기 (2) | 2023.03.26 |
[React-Native] Your Ruby version is 2.6.10, but your Gemfile specified 2.7.6 (0) | 2023.03.17 |
[React-Native] ReactNative 에서 Android Native 함수 호출 (0) | 2022.11.17 |
[React-Native] INSTALL_FAILED_INSUFFICIENT_STORAGE (1) | 2022.03.29 |