✅ 에러 상황
React Native 프로젝트를 세팅하고, Android 에뮬레이터를 실행한 뒤 (가상화 설정을 안 해둬서) 터미널에서 npm run android 명령어를 실행했을 때 다음과 같은 오류 메시지를 보게 되었습니다.
error: Command failed with exit code 1
✅ 에러 원인
이 오류는 다양한 원인으로 발생할 수 있지만, 저는 아래와 같은 npm 캐시와 관련된 문제 때문에 오류가 발생했습니다.
npm은 다운로드한 패키지의 데이터를 캐시로 저장해두고, 이후 같은 패키지를 설치할 때 빠르게 설치할 수 있도록 캐시를 사용합니다. 그러나 때때로 이 캐시가 손상되거나 오래된 패키지 정보가 남아 있어서, 패키지 설치나 빌드 과정에서 오류를 일으킬 수 있습니다.
따라서 강제로 캐시를 지우고 새로운 패키지 데이터를 불러와 문제를 해결했습니다.
✅ 해결 방법
1. npm의 캐시를 강제로 지우기
npm cache clean --force
2. 프로젝트 폴더 안에 있는 node_modules 지우기
rmdir /s /q node_modules
윈도우 CMD에서는 rm -rf가 안되기 때문에 위와 같이 rmdir을 사용해주어야 합니다.
- /s: 모든 하위 디렉토리와 파일을 포함해 폴더를 삭제
- /q: 삭제 확인을 묻지 않고 조용히 삭제
3. package.json파일이 있는 React-native 프로젝트 폴더 안에서 아래 명령어 실행
npm install
4. 프로젝트 실행하기
npm start
혹은
react-native run-android
혹은
npm run android
위 세 명령어 중 해야하는 것으로 하면 됩니다.
⭐ 해결 완료
🩷 후기
React Native가 처음인데 시작부터 고난길이었다.ㅎ 하필 윈도우 환경이라 따로 명령어까지 찾아봐야해서 좀 킹받았지만, 그 덕분에 그냥 복붙하지 않고(못하고) 어떤 명령어인지 더 알아볼 수 있었어서 오래 기억에 남을 거 같다~
함께 해준 승현이에게 감사🩷
📌 참고