Проблема с шаблонным приложением «react-native init»: не удается разрешить модуль `./ index` из react-native / scripts

#react-native

#react-native

Вопрос:

После выполнения всего в соответствии с https://facebook.github.io/react-native/docs/getting-started при использовании эмулятора Android Studio и создании шаблонного приложения с помощью «react-native init MyApp» я получаю эту ошибку:

 Error: Unable to resolve module `./index` from `C:UsersOlegDesktopprogStuffSSFD2node_modulesreact-nativescripts/.`: The module `./index` could not be found from `C:UsersOlegDesktopprogStuffSSFD2node_modulesreact-nativescripts/.`. Indeed, none of these files exist:
  * `C:UsersOlegDesktopprogStuffSSFD2node_modulesreact-nativescriptsindex(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
  * `C:UsersOlegDesktopprogStuffSSFD2node_modulesreact-nativescriptsindexindex(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`
    at ModuleResolver.resolveDependency (C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrcnode-hasteDependencyGraphModuleResolution.js:163:15)
    at ResolutionRequest.resolveDependency (C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrcnode-hasteDependencyGraphResolutionRequest.js:52:18)
    at DependencyGraph.resolveDependency (C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrcnode-hasteDependencyGraph.js:283:16)
    at C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrclibtransformHelpers.js:261:42
    at Server.<anonymous> (C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrcServer.js:1038:41)
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrcServer.js:99:24)
    at _next (C:UsersOlegDesktopprogStuffSSFD2node_modulesmetrosrcServer.js:119:9)
::ffff:127.0.0.1 - - [24/Mar/2019:08:18:16  0000] "GET /index.delta?platform=androidamp;dev=trueamp;minify=false HTTP/1.1" 500 - "-" "okhttp/3.12.1"
  

Из всех вещей, которые я пробовал, включая повторную инициализацию проекта, повторную проверку того, что у меня все установлено и обновлено, переустановку некоторых вещей, единственное, что сработало, это использование версии react-native 0.58.6, она работает нормально. Но мне не нравится это решение, и я хочу использовать последнюю версию.

Ответ №1:

Это проблема react-native, которая только что была исправлена в готовящемся выпуске. Выполнить react-native start — это одна вкладка, а выполнить react-native run-android на другой вкладке можно временно исправить это (или понизить до react-native@0.58.6 ).

https://github.com/facebook/react-native/issues/24112

Похоже, эта проблема касается только автоматически запускаемого упаковщика как части react-native run-android — если вы запускаете react-native start отдельно перед запуском-android, на данный момент все должно быть в порядке.

Обновить:

react-native версии 0.59.2 исправил эту проблему на iOS, но все еще не работает для Android. Теперь вам нужно запустить react-native start --reset-cache и react-native run-android в двух терминалах.

Update2:

https://github.com/facebook/react-native/issues/24112#issuecomment-477069406

Перейдите по этой ссылке, чтобы изменить launchPackager.bat, похоже, временное решение для пользователей Windows.

Комментарии:

1. О, так это известная вещь? Хорошо, я попробую это через несколько дней, когда вернусь к компьютеру с настройкой и проверю, работает ли это решение. Спасибо!

2. Последнее решение по этой ссылке на github сработало для меня. Большое спасибо!

Ответ №2:

Используйте следующее:

 react-native start --reset-cache
  

Ответ №3:

Ошибка заключается в том, что не удается найти зависимость модуля от react-native из node_modules. Вероятно, вам следует

попробуйте удалить модули узла

и run npm install снова.

Ответ №4:

Очистите свой кэш:

 rm -rf $TMPDIR/react-*; rm -rf $TMPDIR/haste-*; rm -rf $TMPDIR/metro-*; watchman watch-del-all
  

Перезапустите упаковщик:

 react-native start
  

Теперь запустите ваше приложение:

 react-native run-android or react-native run-ios