작성
·
823
·
수정됨
0
안녕하세요.
프로젝트를 새로 만들 때
npx react-native MyProjectApp 으로 실행을 하면 아래와 같이 templatererror가 나옵니다.
⠦ Downloading templateerror Installing pods failed. This doesn't affect project initialization and you can safely proceed.
However, you will need to install pods manually when running iOS, follow additional steps in "Run instructions for iOS" section.
✖ Downloading template
info 💡 To enable automatic CocoaPods installation when building for iOS you can create react-native.config.js with automaticPodsInstallation field.
For more details, see https://github.com/react-native-community/cli/blob/main/docs/projects.md#projectiosautomaticpodsinstallation
Run instructions for Android:
• Have an Android emulator running (quickest way to get started), or a device connected.
• cd "/Users/xxx/React-Native/MyProjectApp" && npx react-native run-android
Run instructions for iOS:
• cd "/Users/xxx/React-Native/MyProjectApp/ios"
• Install Cocoapods
• bundle install # you need to run this only once in your project.
• bundle exec pod install
• cd ..
• npx react-native run-ios
- or -
• Open MyProjectApp/ios/MyProjectApp.xcodeproj in Xcode or run "xed -b ios"
• Hit the Run button
Run instructions for macOS:
• See https://aka.ms/ReactNativeGuideMacOS for the latest up-to-date instructions.
코코아팟도 설치가 되어있어서
pod --version 을 하면
1.15.2라고 버전이 나옵니다.
해당 프로젝트로 들어가서 npx pod-install을 실행하면
이상하게 MyProjectApp 과 같은 레벨의 경로에서 FoodDeliveryApp 이라는 폴더가 생성이 되고, 그 안에는 apps와 repos라는 폴더가 생성이 됩니다.
안에는 아무것도 내용이 없어요.
프로젝트를 만들고 xcode로 빌드하고, 클린하고, 안드로이드 스튜디오에서 열고 삭제하고 인텔리에서 프로젝트를 열고 지우고 하는것을 여러번 반복했었는데
파일들이 깨끗하게 지워지지 않아서 기존에 만들었던 프로젝트가 생성이 되는지는 모르겠네요..
그리고 해당 경로로 들어가면 아무런 파일도 생성이 안되어 있습니다.
답변 2
0
폴더 구조입니다.
FoodDeliveryApp 폴더는 MyProjectApp 폴더 안에 들어가서 터미널로 npx pod-install을 하면 자동을 폴더가 생깁니다.(기존에 FoodDeliveryApp으로 프로젝트를 만들고 지우는것을 여러번 반복해서그런지 모르겠네요)
혹시나 해서 cocoapod을 모두 삭제하고, 새로 설치를 했는데도 폴더가 자동으로 생기는것은 똑같더라구요.
FoodDeliveryApp 폴더로 들어가면 아래와 같이 두 개의 폴더만 생성이 되고 폴더 안에는 아무것도 없습니다.
위와같은 문제가 발생하는 원인을 찾았네요..
제 경우에는 /Users/xxx/react-native/프로젝트명
의 경로로 프로젝트를 만들었는데 처음에는 정상적으로 만들어지고, 다시 반복을 하기위해 지웠다 만들었다를 하면서 경로를 잘못 잡아서 프로젝트를 만든적이 있었었네요. 그래서 /Users/xxx 경로 안에 package.json 파일이 있어서 문제가 발생했던 것 같습니다.
그래서 해당 파일을 삭제하고 의도했던 경로로 가서 프로젝트를 만들고 실행을 하니 정상적으로 만들어지고, 실행도 됐습니다.
npm i @react-navigation/native
npm i @react-navigation/native-stack
npm i react-native-screens@3.22.1 react-native-safe-area-context
npx pod-install # 맥 전용
이렇게 설치를 하고 다시 기기를 실행을 하면 아이폰은 문제가 없는데 항상 안드로이드만 빌드가 실패했었습니다.
몇번이나 지우고 설치를 반복하다가 마지막으로 패키지를 하나씩 설치해서 기기 실행하는식으로 테스트를 해 봤는데 결론은
npm i react-native-screens@3.22.1 react-native-safe-area-context
이 패키지를 설치하니 안드로이드 빌드가 실패되서 아래와 같이 버전을 지우고 하나씩 설치하면서 기기를 실행해봤는데 모두 정상적으로 실행이 됐습니다.
npm i react-native-screens
npm i react-native-safe-area-context
위에서 버전을 명시하고 설치를 했을 때 java(제 경우는 코틀린)파일을 건드리고, 코틀린 버전을 변경하는 부분이 있었는데, 그 부분은 건들지 않았는데 정상적으로 안드로이드 기기가 빌드가 됐습니다.
마지막으로 이름을 변경하는 부분에서
MainActivity.kt 파일에서 getMainComponentName 값을 변경하면 오류가 나서 그 부분은 원래대로 놓고, strings.xml 파일과 iOS 에서 변경해야하는 파일 두 개의 파일만 변경하니 정상적으로 앱의 이름도 변경이 됐습니다.
getMainComponentName은 이름에서 추측하기로는 컴포넌트명이라 이 부분은 앱 이름과는 관련이 없지 않을까 생각이 됩니다.
이 부분을 참고해서 수정 했다가 취소 했습니다.
그리고 제 경우는 아직 Flipper를 설치하지 않은 상태에서 진행을 했었습니다.
우선 이대로 진행을 해 보다가 플리퍼는 필요할 때 다시 되돌아와서 설치를 하는 식으로 진행을 해 봐야할 것 같네요.
여기까지 오는데 시간이 많이 걸리기는 했지만, 그래도 이 부분들을 학습한 후에 프로젝트 전체를 3번정도 지웠다가 다시 설치하고 했을 때 문제없이 안드로이드/아이폰 기기 빌드가 정상적으로 된 것을 확인하니 기분은 매우 좋습니다.^^;
참.. 그리고 제가 진행한 단계는 App.tsx 파일까지 변경해서 Home Screen과 Details Screen 버튼이 모두 클릭 되는 것을 확인까지 한 단계입니다.
0
npx react-native MyProjectApp
으로 하셨으니 MyProjectApp 폴더가 생기는게 당연하고요. 폴더 내부에 모든 파일이 정상적으로 있습니다. 그 폴더에서 진행하시면 됩니다.