React Native故障排除
我的React Native生成失败,并显示"找不到 FBSDKCoreKit/FBSDKCoreKit.h"文件
此错误通常是因为 Facebook SDK 要求它安装在用户主目录中,这对于托管生成来说可能是有问题的。 若要解决此要求,请执行以下步骤:
将 FacebookSDK 签入到存储库。 它可以转到任何位置,但下面的脚本假设已添加到
<repo-root>/vendor/FacebookSDK。将 npm 预安装脚本添加到 package.json:
"scripts": {
...
"preinstall": "./npmpreinstall.sh"
}
npmpreinstall.sh通过以下代码~/Documents/FacebookSDK与存储库进行符号链接:
#!/bin/sh
if [ ! -L ~/Documents/FacebookSDK ]; then
echo 'Symlinking ~/Documents/FacebookSDK to Facebook SDK in repo'
ln -s $(cd ./vendor/FacebookSDK; pwd) ~/Documents/FacebookSDK
fi
- 使
npmpreinstall.sh可执行文件:
chmod u+x npmpreinstall.sh
我的React Native生成失败,出现"错误:CALL_AND_RETRY_LAST分配失败 - JavaScript 堆内存不足"
可以通过使用 标志分配更多内存来 --max-old-space-size 解决此问题。
在 Android 上,将以下内容添加到项目的 build.gradle 文件:
project.ext.react = [
nodeExecutableAndArgs: ["node", "--max_old_space_size=8192"]
]
在 iOS 的 Xcode 中,选择目标并转到"生成阶段"选项卡,在"捆绑代码React Native映像"部分中,将 标志添加到 shell 脚本:
export NODE_BINARY="'node --max_old_space_size=8192'
../node_modules/react-native/packager/react-native-xcode.sh"