강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

윤형주님의 프로필 이미지
윤형주

작성한 질문수

React Native with Expo: 제로초에게 제대로 배우기

애플 로그인

구글 OAuth 오류 ...

작성

·

107

0

추가로 npx expo start 해서 expo go 로 앱열면 이런 에러가나요.. 구글 OAuth 도전하다가 오류나는것 같은데.. 이제 메트로를 못쓰는건가요? development build로 들어가야하나요?

› Choose an app to open your project at http://192.168.10.54:8081/_expo/loading

› Metro waiting on exp://192.168.10.54:8081

› Scan the QR code above with Expo Go (Android) or the Camera app (iOS)

› Web is waiting on http://localhost:8081

› Using Expo Go

› Press s │ switch to development build

› Press a │ open Android

› Press i │ open iOS simulator

› Press w │ open web

› Press j │ open debugger

› Press r │ reload app

› Press m │ toggle menu

› shift+m │ more tools

› Press o │ open project code in your editor

› Press ? │ show all commands

iOS Bundled 539ms node_modules/expo-router/entry.js (1439 modules)

WARN expo-notifications: Android Push notifications (remote notifications) functionality provided by expo-notifications was removed from Expo Go with the release of SDK 53. Use a development build instead of Expo Go. Read more at https://docs.expo.dev/develop/development-builds/introduction/.

WARN expo-notifications functionality is not fully supported in Expo Go:

We recommend you instead use a development build to avoid limitations. Learn more: https://expo.fyi/dev-client.

WARN Require cycle: services/notificationService.ts -> services/firebaseService.ts -> services/notificationService.ts

Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.

LOG Firebase Messaging not available in Expo Go

LOG Firebase Messaging not available in Expo Go

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(auth)/login.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(auth)/signup.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/add-asset.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/add-book.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/add-category.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/add-transaction.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/advanced-stats.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/asset-detail.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/book-sharing.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/budget-settings.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/change-password.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/manage-categories.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/profile.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/select-book.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(modals)/user-id-code.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(onboarding)/create-first-book.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

WARN Route "./(tabs)/asset.tsx" is missing the required default export. Ensure a React component is exported as default.

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...):

WARN [Layout children]: No route named "profile" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"]

WARN [Layout children]: No route named "add-transaction" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"]

WARN [Layout children]: No route named "add-book" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"]

WARN [Layout children]: No route named "add-category" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"]

WARN [Layout children]: No route named "select-book" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget",

답변 3

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

공식문서에

The @react-native-google-signin/google-signin library can't be used in the Expo Go app because it requires custom native code. Learn more about adding custom native code to your app.

라고 되어있습니다! expo go 못 씁니다

윤형주님의 프로필 이미지
윤형주
질문자

감사합니다!!!! 명강의였습니다 ㅎㅎ

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

다른 질문 글의 팀 계정/개인 계정 문제도 해결하신 건가요?

0

ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes

위에 에러메세지를 보아 expo go에서는 저 라이브러리를 사용 못하는거 같습니다.

development build를 하셔야 사용할 수 있어요
https://docs.expo.dev/develop/development-builds/create-a-build/

윤형주님의 프로필 이미지
윤형주
질문자

감사합니다... ㅠㅠ 결국 아래 문의 글에 수렴하는 문제군요...

0

안녕하세요, 인프런 AI 인턴입니다. 윤형주님.

현재 발생한 문제는 Expo Go에서 Google Sign-In(RNGoogleSignin) 모듈이 제대로 로드되지 않는다는 오류 및 일부 파일의 기본 내보내기(default export)가 없다는 경고입니다. Expo Go 앱은 JavaScript만으로 동작하기 때문에 네이티브 코드를 사용하는 기능은 지원하지 않으므로 사용 중인 SDK 기능 등의 제약이 있을 수 있습니다.

해결 방법

  1. 개발 빌드를 사용: Expo SDK 53부터는 Expo Go에서 네이티브 모듈의 기능이 제한됩니다. 따라서 npx expo prebuild를 사용하여 네이티브 코드를 포함한 개발자 빌드로 전환하는 방법을 고려하세요. 나아가 Expo Dev Client를 활용하여 문제를 해결할 수 있습니다.

  2. RNGoogleSignin 모듈 설치 및 설정 확인:

    • RNGoogleSignin이 제대로 설치되어 있는지 확인하세요.
    • 설치 후 npx expo prebuild로 빌드 설정 파일을 새롭게 설정해보시기 바랍니다.
    • 공식 문서 를 참고하여 적절한 네이티브 설정이 이루어졌는지 확인하세요.
  3. 모듈 경고 해결:

    • 각 모듈 파일에 기본 내보내기(default export)가 있는지 확인하세요. 기본 내보내기가 없는 경우 아래 예시와 같이 기본 내보내기를 추가해 주세요.
    // Example for a default export if missing
    const Component = () => {
     return <View><Text>Hello World</Text></View>;
    };
    export default Component;
    
  4. 경로 문제점 확인: 이슈에 있는 모듈 경로가 올바르게 설정되어 있는지 확인하세요. 올바른 경로를 사용하고 있지 않다면 파일을 정확히 가져오지 못해 문제가 될 수 있습니다.

더 이상의 도움이나 세부적인 해결책이 필요하시면, Expo Dev Tools와 콘솔 로그를 통해 추가적인 디버깅을 진행해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

윤형주님의 프로필 이미지
윤형주

작성한 질문수

질문하기