我要返回一个React Native项目并遇到以下构建错误:
'React/RCTEventEmitter.h' file not found
该项目使用CocoaPods引入React及其依赖项。该错误似乎与我的自定义模块之一中缺少标头有关。出现导入错误的特定行位于https://github.com/adamski/react-native-couchbase/blob/8bc089a1e4cfdf62599b1f156072aa12a3823b30/ios/RCTCouchBase/RCTCouchBase/RCTCouchBase.h#L8
仅在添加新的节点模块并运行pod install
之后,该错误才开始出现。
我已经尝试了各种方法来修复它,例如:
node_modules
${PODS_ROOT}/Headers/Public/React
如果我将导入更改为#import "RCTEventEmitter"
,则它将落入:
'React/RCTBridge.h' file not found
来自RCTEventEmitter.h 。
这里还有其他可能出错的地方吗?
我最近不得不为另一个项目升级到Xcode 10,也许这是一个问题吗?
Podfile:
react_native_path = '../../node_modules/react-native'
install! 'cocoapods', :deterministic_uuids => false
platform :ios, '8.0'
target 'MyApp - App' do
pod 'HockeySDK', '~> 4.1.3'
pod 'React', :path => '../../node_modules/react-native', :subspecs => [
'ART',
'Core',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTText',
'RCTWebSocket',
'RCTAnimation',
'DevSupport',
'BatchedBridge',
# Add any other subspecs you want to use in your project
]
# To use CocoaPods with React Native, you need to add this specific Yoga spec as well
pod 'yoga', :path => react_native_path + '/ReactCommon/yoga'
pod 'couchbase-lite-ios', '~> 1.4.0'
pod 'couchbase-lite-ios/ForestDB', '~> 1.4.0'
pod 'mp3lame-for-ios'
pod 'ReactNativeCouchbase', :path => '../../node_modules/react-native-couchbase'
pod 'ReactNativeNavigation', :path => '../../node_modules/react-native-navigation'
pod 'RNVectorIcons', :path => '../../node_modules/react-native-vector-icons'
pod 'RNSVG', :path => '../../node_modules/react-native-svg'
pod 'RNDeviceInfo', :path => '../../node_modules/react-native-device-info'
pod 'react-native-in-app-utils', :path => '../../node_modules/react-native-in-app-utils'
pod 'react-native-mail', :path => '../../node_modules/react-native-mail'
pod 'BVLinearGradient', :path => '../../node_modules/react-native-linear-gradient'
pod 'RNSound', :path => '../../node_modules/react-native-sound'
pod 'react-native-youtube', :path => '../../node_modules/react-native-youtube'
pod 'RNStoreReview', :path => '../../node_modules/react-native-store-review/ios'
end
答案 0 :(得分:1)
我在更新时也遇到了此错误。要解决它:
1)我从pod文件中删除了React依赖关系和所有node_modules依赖关系。
注意:似乎react-native链接有时会给pod文件带来一些node_modules依赖关系,从而使构建崩溃。我试图避免Pod文件中包含任何node_module deps。直到现在,我还没有找到一种方法来使用Pod文件中的任何node_module deps构建项目。
2)我手动添加或检查了Xcode中所有必需的依赖项。
反应和其他一些在项目目标标头搜索路径中列出:
依赖关系在Xcode-> Libraries中列出:
....
....
在Project目标->常规->链接的框架和库中。
我必须逐步进行,首先修复React deps,然后修复崩溃的库。
我在更新到0.57时做了类似的事情。
我不得不清理缓存并重新构建很多次。 RN的每次更新对我来说也是一个挑战。
我的依赖项:
RN 0.57.1
Xcode 10.1