React-Native: React не найден в проекте или в этих каталогах - PullRequest
4 голосов
/ 21 октября 2019

Мы обновили наш собственный реактивный проект до последней собственной реактивной версии (v0.61.2) с реакцией (16.9.0), и она прекрасно работает на Android. Когда мы пытаемся запустить его на ios мысли, мы получаем сообщение:

warning: the transform cache was reset. Loading dependency graph, done. error: bundling failed: Error: Unable to resolve module `React` from `ios/Pods/React/Libraries/react-native/react-native.js`: React could not be found within the project or in these directories:   node_modules

If you are sure the module exists, try these steps:
 1. Clear watchman watches: watchman watch-del-all
 2. Delete node_modules: rm -rf node_modules and run yarn install
 3. Reset Metro's cache: yarn start --reset-cache
 4. Remove the cache: rm -rf /tmp/metro-*

Мы следовали руководству по обновлению, обновили все зависимости до их последней версии и обновили модули. На самом деле я не знаю, где и как начать отладку, поскольку, похоже, это происходит из папки Pods.

Это содержимое нашей папки Pods:

ls ios/Pods/
Adjust              GoogleDataTransport
Crashlytics         GoogleDataTransportCCTSupport
DoubleConversion        GoogleUtilities
Fabric              Headers
Firebase            Local Podspecs
FirebaseABTesting       Manifest.lock
FirebaseAnalytics       Pods.xcodeproj
FirebaseAnalyticsInterop    Protobuf
FirebaseCore            Pushwoosh
FirebaseCoreDiagnostics     PushwooshInboxUI
FirebaseCoreDiagnosticsInterop  React
FirebaseDynamicLinks        Target Support Files
FirebaseInstanceID      boost-for-react-native
FirebaseRemoteConfig        glog
Folly               nanopb
GoogleAppMeasurement

ив нашей папке node_modules мы имеем (с гораздо большим количеством других пакетов):

...
react
depd                        react-deep-force-update
des.js                      react-devtools-core
destroy                     react-is
detect-libc                 react-lifecycles-compat
detect-newline              react-native
...

Я, конечно, попробовал все шаги, такие как очистка кешей, сброс кеша, очистка DerivedData, очистка и сборка, ... я не знаю, с чего начать.

Ответы [ 5 ]

1 голос
/ 07 ноября 2019

Я столкнулся с той же ошибкой при обновлении с v0.60.3 до v0.61.4.

Мне нужно было изменить

import React, { Component } from 'React';

на

import React, { Component } from 'react';

Обратите внимание на строчную букву r.

0 голосов
/ 05 ноября 2019

Я знаю, что это не оптимальное решение, однако я потратил больше недели на то, чтобы спуститься по кроличьей норе безрезультатно. В конце я сгенерировал новый проект RN, скопировал в папку своего приложения и переустановил около 20 пакетов, которые я использую, а затем скопировал мои старые App.js, index.js, AndroidManifest, Appdelegate.m, Info.plist, build.gradlex 2, значки и XIB, а также некоторые разные инструкции по установке модулей, например, FBSDK и Firebase. Теперь все отлично работает. Кажется, что-то в ручном процессе обновления всех этих файлов, чтобы получить от <0.60 до> 0.60, вызывает проблемы для некоторых. Обратите внимание, что этот отдых занял около 8 часов.

0 голосов
/ 22 октября 2019

На прошлой неделе я также столкнулся с проблемой, вызванной изменением пути реакции.

откройте папку ios Podfile, отредактируйте путь реакции. он переместился в реагирующий на родную

 pod 'React', :path => '../node_modules/react-native/'
 pod 'React-Core', :path => '../node_modules/react-native/'

, затем в папку cd ios и запустил установку pod в терминале

. Ожидайте выше, если у вас возникли другие проблемы с обновлением, вы можете перейти на этот сайт сравнить файлы

0 голосов
/ 30 октября 2019

Попробуйте удалить как Pod folder, так и Podfile.lock в каталоге ios. Затем снова запустите pod install.

Это сработало для меня.

0 голосов
/ 21 октября 2019

Я не знаю, пытались ли вы обновить свои модули или нет, но вы можете попробовать выполнить в папке ios/ следующее:

pod repo update && pod install

Это может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...