[개발 환경 설정] Expo 명령어 비교 정리 (npx/ expo/ yarn/ npm run /Expo Go)

헤이안나·2025년 5월 20일
0

🚀

React Native + Expo 프로젝트에서 자주 사용하는 실행 명령어들을 비교 정리했습니다.
실행 방식, 글로벌 설치 여부, Expo Go 사용 가능 여부까지 한눈에 정리했습니다.

비슷해 보여도 전제 조건이나 실행 환경에 따라 작동 방식이 다르니, 상황에 맞게 사용하는 것이 중요합니다.


✅ 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에서 실행되지 않는 명령어 (Dev Client 전용)

명령어설명Expo Go 사용 가능
npx expo run:androidDev Client 기반 네이티브 실행❌ 불가
npx expo start --dev-clientQR 실행 → 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
  • Expo Go에서 실행 가능
  • 글로벌 설치 불필요 (npx 사용)
  • Android 자동 실행까지 지원

📦 참고 팁

  • npx는 매번 최신 버전의 expo-cli를 임시로 실행 → 버전 충돌 없이 안정적
  • expo는 글로벌 설치가 필요하므로 환경 설정에 따라 에러 발생 가능
  • npm run / yarn은 스크립트에 따라 실행 결과가 달라지므로 반드시 확인 필요
    npm run android / yarn androidpackage.json에 정의된 스크립트가 있어야 정상 동작합니다.

이 정리 하나면, 어떤 명령어를 언제, 왜 써야 하는지 헷갈릴 일 없습니다!
React Native + Expo 개발 초기 셋업이나 디바이스 실행 시 바로 참고하세요 😊

📮 이 정보는 GPT 기반으로 정리되었습니다.

profile
리액트 공부하는 사람

0개의 댓글