본문 바로가기

리액트/리액트네이티브

[ReactNative] $ npx react-native run-android⚠️ react-native depends on @react-native-community/cli for cli commands. To fix update your package.json to include: "devDependencies": { "@react-native-community/cli": "latest", } 에러 해결ReactNative] $ npx r

728x90

해당 오류는 Yarn 4 (Berry) + PnP(Plug’n’Play) 환경에서 React Native CLI 패키지를 제대로 인식하지 못하는 전형적인 상황입니다.
즉, react-native가 “@react-native-community/cli가 필요하다”라고 계속 말하지만, 실제로는 이미 설치가 되어 있음에도 PnP 링크 방식 때문에 제대로 연결되지 않는 경우가 대부분입니다.

아래 순서대로 해결 방법을 시도해 보세요.


1. .yarnrc.yml에서 nodeLinker: node-modules로 변경 (가장 확실한 방법)

Yarn v2 이상(일명 Berry)부터는 기본적으로 **PnP(Plug’n’Play)**를 사용하게 설정될 수 있는데,
React Native는 아직 PnP와 완벽하게 호환되지 않습니다.
그러므로 node_modules 방식을 사용하도록 설정을 바꿔야 합니다.

  1. 프로젝트 루트에 있는 .yarnrc.yml 파일을 열어, 아래처럼 설정 추가 또는 수정:
    nodeLinker: node-modules
  2. 설정 후, 다음 명령어로 남아있는 캐시/설정 등을 싹 정리:
     
    rm -rf .yarn/cache .pnp.* yarn.lock node_modules yarn install
     
     
    이렇게 하면 node_modules 폴더가 다시 생기고, 기존 PnP 설정은 사라집니다.
  3. 마지막으로 다시 실행:
    npx react-native run-android
    이제는 @react-native-community/cli 관련 오류가 사라지고 정상적으로 빌드될 확률이 매우 높습니다.

참고: .yarnrc.yml 파일이 없을 수도 있으므로, 직접 만들어서 nodeLinker: node-modules를 추가해 주시면 됩니다.


2. (대안) Yarn “Classic”으로 다운그레이드

만약 Yarn Berry의 PnP 설정을 유지하고 싶지 않거나, 설정이 복잡하다면 Yarn Classic(1.x) 버전으로 바꿔서 쓰는 방법도 있습니다.

  1. 기존 Yarn Berry를 제거하고,
    npm uninstall -g yarn
  2. Yarn Classic 설치
     
    npm install -g yarn@1.22.19
     
  3. 프로젝트 루트에서 lock 파일 제거 후 다시 설치 그리고 실행
rm -rf yarn.lock node_modules yarn
 
npx react-native run-android

3. 혹시나 해서 다시 한 번 확인할 사항

  • @react-native-community/cli가 devDependencies에 정확히 들어 있는지 확인
  • React Native 버전(현재 0.76.6)과 CLI 버전이 호환되지 않는 경우는 드뭅니다만, 혹시 모를 버전 문제를 피하려면 @react-native-community/cli를 ^10.x나 ^11.x처럼 명시적으로 지정해 볼 수도 있습니다.
  • Windows 환경에서 Node 버전 >= 18, Java SDK, Android SDK 등이 정상 설치되어 있어야 합니다.

마무리

결론적으로, 가장 확실한 해결책은 Yarn Berry의 PnP를 끄고 node_modules 방식으로 변경하는 것입니다.
.yarnrc.yml에 nodeLinker: node-modules 설정을 추가한 뒤, .pnp.*, .yarn/cache, yarn.lock, node_modules를 싹 지우고 yarn install을 다시 해 보세요.

이 과정을 거치면 @react-native-community/cli 관련 경고 없이 **npx react-native run-android**가 정상적으로 동작할 것입니다.

728x90