React-Native构建成功 - 本机模块不能为空(iOS)
问题描述:
我正在本地El Capitan Mac OS X机器上运行本机响应应用程序。我试图让它在iOS的模拟器中运行。React-Native构建成功 - 本机模块不能为空(iOS)
构建成功,但我看到一个红色的屏幕,显示以下字样:Native模块不能为空。
我看到这个错误控制台:
NotFoundError: Cannot find entry file global [email protected]://localhost:8081/index.ios.js in any of the roots: ["/Users/User/f8app"]
at DependencyGraph._getAbsolutePath (/Users/User/f8app/node_modules/node-haste/lib/index.js:288:13)
at /Users/User/f8app/node_modules/node-haste/lib/index.js:226:30
at process._tickCallback (node.js:401:9)
我该如何解决这个问题?谢谢。
阵营原生版本: 反应母语-CLI:1.0.0 反应母语:0.28.0
编辑:这是令人难以置信的混乱,因为index.ios.js是的我的根项目。
答
我有类似的问题,它需要一段时间来缩小原因问题。 React有时不会自动将子库链接到iOS项目。您的库可能需要一些额外的RCT*
依赖项,这些依赖项已下载并位于node_modules/react-native文件夹中。您需要手动链接它。
比如我用的CocoaPods为iOS依赖管理和我的反应原生看起来像这样:
pod 'React', :path => '../../node_modules/react-native', :subspecs => [
'Core',
'RCTText',
'RCTImage',
'RCTLinkingIOS',
'RCTSettings',
'RCTVibration',
'RCTGeolocation',
'RCTActionSheet',
'RCTNetwork',
'RCTWebSocket'
]
如果您正在使用react-native link
或XCode
手动连接,确保将这些文件添加到您的Xcode项目。更多详细信息在Facebook documentation
它可能不相关,但自从RN0.29以来没有更多与appDelegate(自动猜测)的争斗。尝试升级,如果你没有答案,它不会在最新版本中受到伤害。 – MacKentoch
由于某种原因,我的反应将不会更新过去28年,即使我输入“react-native upgrade” – user1072337