EXPO: Nie można rozwiązać modułu „./debugger


16

Po przeładowaniu moja aplikacja przestała się ładować.

Próbowałem na emulatorach i 2 prawdziwych devives, Android i iOS.

Błąd jest następujący:

Błąd: nie można rozwiązać modułu ./debugger-ui/debuggerWorker.d9da4ed7z ``:

i od czasu do czasu pojawia się błąd „nie można zlokalizować instancji”.

Próbowałem następujące:

  1. Jasne stróż zegarki: watchman watch-del-all.
  2. Usunąć node_modulesfolder: rm -rf node_modules && npm install.
  3. Zresetuj pamięć podręczną Metro Bundler: rm -rf /tmp/metro-bundler-cache-*lub npm start -- --reset-cache.
  4. Usuń haste cache: rm -rf /tmp/haste-map-react-native-packager-*.
  5. Zrestartuj komputer.

      Expo CLI 3.11.3 environment info:
        System:
          OS: macOS 10.15.2
          Shell: 5.7.1 - /bin/zsh
        Binaries:
          Node: 12.8.0 - ~/.nvm/versions/node/v12.8.0/bin/node
          Yarn: 1.19.1 - /usr/local/bin/yarn
          npm: 6.13.4 - ~/.nvm/versions/node/v12.8.0/bin/npm
          Watchman: 4.9.0 - /usr/local/bin/watchman
        IDEs:
          Android Studio: 3.5 AI-191.8026.42.35.5791312
          Xcode: 11.2/11B41 - /usr/bin/xcodebuild
        npmPackages:
          expo: ~36.0.0 => 36.0.2
          react: ~16.9.0 => 16.9.0
          react-native: https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz => 0.61.4
          react-navigation: ^4.0.10 => 4.0.10
        npmGlobalPackages:
          expo-cli: 3.11.3
    

Jakieś pomysły na to, co jeszcze mogę spróbować rozwiązać?

Pełny błąd poniżej:


Error: Unable to resolve module `./debugger-ui/debuggerWorker.d9da4ed7` from ``:

None of these files exist:
  * debugger-ui/debuggerWorker.d9da4ed7(.native|.native.expo.ts|.expo.ts|.native.expo.tsx|.expo.tsx|.native.expo.js|.expo.js|.native.expo.jsx|.expo.jsx|.native.ts|.ts|.native.tsx|.tsx|.native.js|.js|.native.jsx|.jsx|.native.json|.json|.native.wasm|.wasm)
  * debugger-ui/debuggerWorker.d9da4ed7/index(.native|.native.expo.ts|.expo.ts|.native.expo.tsx|.expo.tsx|.native.expo.js|.expo.js|.native.expo.jsx|.expo.jsx|.native.ts|.ts|.native.tsx|.tsx|.native.js|.js|.native.jsx|.jsx|.native.json|.json|.native.wasm|.wasm)
    at ModuleResolver.resolveDependency (/Users/serdarmustafa/task_location_namespace/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:163:15)
    at ResolutionRequest.resolveDependency (/Users/serdarmustafa/task_location_namespace/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:52:18)
    at DependencyGraph.resolveDependency (/Users/serdarmustafa/task_location_namespace/node_modules/metro/src/node-haste/DependencyGraph.js:282:16)
    at /Users/serdarmustafa/task_location_namespace/node_modules/metro/src/lib/transformHelpers.js:267:42
    at /Users/serdarmustafa/task_location_namespace/node_modules/metro/src/Server.js:1305:37
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/Users/serdarmustafa/task_location_namespace/node_modules/metro/src/Server.js:99:24)
    at _next (/Users/serdarmustafa/task_location_namespace/node_modules/metro/src/Server.js:119:9)
    at processTicksAndRejections (internal/process/task_queues.js:85:5)

Czy możesz również podzielić się swoim package.json?
iRohitBhatia

1
Miałem kolejny błąd związany z przenoszeniem modułu nawigacyjnego. Kiedy naprawiłem, twój błąd zniknął.
dsbmac

Mam ten sam błąd. Czy istnieje sposób, aby to naprawić bez obniżania npm?
zengod

Odpowiedzi:


4

Sprawdź swoją npmwersję w package.json.

"dependencies": {
    "@react-native-firebase/app": "^6.0.0",
    "@react-native-firebase/auth": "^6.0.0",
    "acorn": "^7.0.0",
    "axios": "^0.19.1",
    "expo-web-browser": "^8.0.0",
    "i": "^0.3.6",
    "loadash": "^1.0.0",
    "npm": "^6.11.3",

W moim przypadku zrobiłem to npm updatei moja npmwersja w dependecy została przeniesiona do najnowszej wersji, co spowodowało zerwanie zmian


Nie rozumiem. Co zrobiłeś, aby to naprawić?
Betty

@Betty Wróciłem do mojej poprzedniej wersji npm
iRohitBhatia

Co zmieniłeś? Rzeczywista npm zainstalowana na twoim komputerze, czy wpis w package.jsonpliku? Tak czy inaczej, nie ma npmwpisu do package.jsonprojektu Expo, więc po prostu nie rozumiem.
Betty

Wpis w pliku package.json.
iRohitBhatia

Zaktualizowałem i zadziałało
Anh Devit

5

Rozwiązałem ten błąd, zatrzymując debugger cmd + d&&, Stop debugginga następnie dokonując twardego przeładowania na otwartej karcie debuggera w chrome alt + control + click on reload buttoni wybierając, Empty cache and hard reloada następnie ponownie uruchamiając debugger.


Dziękuję Ci bardzo! ... zadziałało dla mnie
Hend El-Sahli

0

Może to być również spowodowane zainstalowaniem zależności, ale zapomnij zainstalować inne zależności potrzebne dla tej zależności. Na przykład zainstalowałem powiadomienie push-reakcyjne-native-push, ale zapomniałem zainstalować PushNotificationIOS i dostałem identyczny błąd.


0

Może się to również zdarzyć, jeśli przeniesiesz moduły kodu do innego katalogu, na przykład /srcw celu skorzystania z importu bezwzględnej ścieżki za pomocą module-resolverwtyczki wbabel.config


0

Rozwiązałem go na dwa sposoby:

Najpierw po prostu usunąłem sourceMappingURLze wspomnianych plików, ponieważ wydawały się powodować błąd (problemy z kompilacją?).

Ale ponieważ musiałem to powtarzać przy każdej aktualizacji / dodawaniu pakietu (co stało się dość irytujące, jak można się domyślić;), byłem bardzo szczęśliwy, że @react-native-community/cli-debugger-ui v4.7.0został wydany wczoraj! Więc szybko dodałem do mojego package.json:

"resolutions": {
    "@react-native-community/cli-debugger-ui": "4.7.0"
  }

Teraz, po usunięciu yarn.lock, uruchomieniu npx react-native-clean-project(to samo można było osiągnąć, usuwając node_modules, czyszcząc poszczególne kompilacje i kapsuły, ale react-native-clean-projectjest o wiele ładniejsze%) i biegiemyarn ponownie , problem zniknął.

(Pamiętaj, aby usunąć rozdzielczość, gdy RN zaktualizuje się ponownie ...)

Odniesienie: https://github.com/react-native-community/cli/issues/1081#issuecomment-614223917

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.