Expo에서 React-Native CLI로 바꾸기 실패
- 앞서 리액트 네이티브 시작하기에서는 expo cli로 빌드했었는데, 팀에서 react-native-cli를 사용하자고 해서 다시 프로젝트를 eject해보았다.
- expo가 필요하지 않은 상황은 다음과 같다.
- 설치를 커스터마이즈하고 싶을 때
- 커스텀 모듈을 설치하고 싶을 때
- 커스텀 리액트 네이티브 모듈을 사용할 때
- 커뮤니티에 의해 디벨롭된 모듈과의 일관성을 원할 때
- ReactJS의 새로운 피처를 사용하고 싶을 때
- 커스텀 CI/CD 가 필요할 때
- expo 없이 rn앱을 빌드하려면 처음부터 react-native-cli를 사용해서 빌드하거나 expo 프로젝트를 eject하면 된다.
그러고 나선 뭘 하려고 해도Successfully copied template native code. Updating your package.json...
Unexpected end of JSON input.
이라고 나왔는데, 구글링 해봐도 딱히 내 상황에 맞는 해결 방법을 찾지 못했다.그러고나니 xcode는 열렸지만 빌드가 안돼요...구글링을 열심히 해보았으나 내 실력으론 이 에러를 없애진 못했다. pod 에러까지 나서 더욱 뭐가 무엇인지 모르게 되었다. 다시 엎고 react native cli로 처음부터 재시도 해봐야겠다…:) - 그래서 무식하지만 package.json을 삭제하고 다시 만들어서 react랑 react-native를 설치했다. 그러고 나서 프로젝트 폴더 내부에 생성된 ios파일에 들어가서 xcodeproj 파일을 xcode로 실행했다. (이전에 zshrc 파일에서 alias를 설정해서 커맨드라인으로 xcode 실행하게끔 함)
- 나는 package.json에 설정된 scripts에 따라
yarn eject
를 시행했다. How would you like to eject your app? 이라는 질문에는 ExpoKit이 아니라 React Native를 선택해야 한다.(expo를 사용하지 않기를 원하므로) 다 하고 난 뒤에는 package.json을 업데이트하고 있다고 나왔는데, 이게 너무 오래 걸리길래 에러인가 하고 중간에 exit해버렸더니 package.json 파일이 텅 비어버리는 일이 발생했다.