React Native + Expo 프로젝트에서 자주 사용하는 실행 명령어들을 비교 정리했습니다.
실행 방식, 글로벌 설치 여부, Expo Go 사용 가능 여부까지 한눈에 정리했습니다.
비슷해 보여도 전제 조건이나 실행 환경에 따라 작동 방식이 다르니, 상황에 맞게 사용하는 것이 중요합니다.
명령어 | 설명 | Expo Go 사용 가능 |
---|---|---|
npx expo start | 개발 서버만 실행 (브라우저에서 QR 접속) | ✅ 가능 |
expo start | ↑ 동일 (글로벌 CLI 사용) | ✅ 가능 |
npx expo start --android | 개발 서버 실행 + Android 자동 실행 | ✅ 가능 |
expo start --android | ↑ 동일 (글로벌 CLI 사용) | ✅ 가능 |
npm run android /yarn android | "android": "expo start --android" 일 경우 | ✅ 가능 (스크립트 필요) |
위 명령어들은 엑스포 고 앱(Expo Go) 으로 실행 가능한 기본 프로젝트에서 사용 가능합니다.
명령어 | 설명 | Expo Go 사용 가능 |
---|---|---|
npx expo run:android | Dev Client 기반 네이티브 실행 | ❌ 불가 |
npx expo start --dev-client | QR 실행 → Dev Client 앱에서 열기 | ❌ 불가 |
eas build --profile development | 커스텀 Dev Client 앱 빌드 | ❌ 불가 |
❗ 위 명령어들은
expo-dev-client
가 설치된 프로젝트 전용입니다.
Expo Go 앱에서는 실행되지 않으므로 주의!
package.json
예시{
"scripts": {
"android": "expo start --android"
}
}
이렇게 정의돼 있다면 아래 명령어들도 동일하게 동작합니다:
npm run android
yarn android
👉 위 명령어는 내부적으로 expo start --android
를 실행합니다.
상황 | 추천 명령어 |
---|---|
Expo CLI 글로벌 설치 안 돼 있을 때 | npx expo start --android |
Expo Go에서 실행하고 싶을 때 | npx expo start 또는npx expo start --android |
Android 에뮬레이터/기기에서 자동 실행하고 싶을 때 | npx expo start --android 또는npm run android / yarn android |
커스텀 Dev Client에서 실행해야 할 때 | npx expo start --dev-client |
매번 입력 귀찮고 자동화하고 싶을 때 | yarn android 또는npm run android (스크립트 정의 필요) |
✅ Expo Go 전용 명령어
npx expo start
npx expo start --android
expo start --android
yarn android
(스크립트 정의된 경우)
🚫 Expo Go 사용 불가 (Dev Client 전용 명령어)
expo run:android
expo start --dev-client
eas build --profile development
🛠️ 스크립트 설정 예시:
"scripts": { "android": "expo start --android" }
npx expo start --android
npx
는 매번 최신 버전의 expo-cli
를 임시로 실행 → 버전 충돌 없이 안정적expo
는 글로벌 설치가 필요하므로 환경 설정에 따라 에러 발생 가능npm run
/ yarn
은 스크립트에 따라 실행 결과가 달라지므로 반드시 확인 필요npm run android
/ yarn android
는 package.json
에 정의된 스크립트가 있어야 정상 동작합니다.이 정리 하나면, 어떤 명령어를 언제, 왜 써야 하는지 헷갈릴 일 없습니다!
React Native + Expo 개발 초기 셋업이나 디바이스 실행 시 바로 참고하세요 😊
📮 이 정보는 GPT 기반으로 정리되었습니다.