React Native iOS项目中未找到"config.h"文件

32

在React Native的X-Code项目中,出现错误:

找不到config.h文件。

以下是版本详细信息:

react-native-cli: 2.0.1
react-native: 0.51.0

该如何解决?

10个回答

91
  1. 关闭 Xcode。

  2. 打开终端,进入你的项目根目录并运行:

  3. cd node_modules/react-native/third-party/glog-0.3.4/
    
  4. 运行configure脚本:

    ./configure
    
  5. 打开Xcode并尝试运行你的应用程序。


2
...在使用react-native-cli: 2.0.1 react-native: 0.55.4创建新项目后,这种情况一直持续发生 - 这是唯一的解决方法,谢谢! - Edoardo
1
获取此错误:检查是否有BSD兼容的安装... /usr/bin/install -c 检查构建环境是否正常... 配置:错误:不安全的绝对工作目录名称 - Amber K
完美。对我有用。 - mediaguru
刚刚又不得不做这件事了。这种情况经常发生吗? - mediaguru
在运行./configure之后,我得到了“检查构建环境是否健全...配置:错误:不安全的绝对工作目录名称”的提示。 - Nick
显示剩余2条评论

12

我遇到了同样的问题,使用以下步骤解决了:

升级到0.44之后遇到了相同的问题。以上所有解决方法和清除缓存都没有解决我的问题。以下是我采取的措施以使事情重新开始运作:

  1. 在终端中,导航到node_modules中的react-native/third-party/glog文件夹(对于我来说,这是cd node_modules/react-native/third-party/glog-0.3.4)
  2. 一旦进入此文件夹,请运行sh ../../scripts/ios-configure-glog.sh。
  3. Glog已配置,并创建了所需的config.h头文件供Xcode查找。
  4. 运行您的iOS BUILD。

祝好!


获取此错误:检查是否有BSD兼容的安装... /usr/bin/install -c 检查构建环境是否正常... 配置:错误:不安全的绝对工作目录名称。 - Amber K
你可以直接从项目的根目录执行以下命令:./node_modules/react-native/scripts/ios-configure-glog.sh - Justin Noel

6

当我的项目文件出现问题时,我通常会按照以下步骤进行处理。

rm -rf node_modules
npm install
react-native upgrade (Only changing affected files, so IOS for you)
react-native link
npm start --reset-cache
(In another terminal)
react-native run-ios

我也遇到了这个问题。唯一的区别是在运行react-native升级命令之前,我需要重新安装node_modules。 - tamouse

3

您需要在Xcode 10中更改为传统的构建系统,并手动安装第三方脚本。

1:

文件 -> 项目/工作区设置 构建系统:下拉菜单 -> 更改为传统的构建系统

2: 按照以下步骤手动安装RN的第三方脚本:

清除RN缓存

$ rm -rf ~/.rncache

重新安装依赖项

$ cd your_project_path $ rm -rf node_modules/ && npm install

然后安装第三方脚本

$ cd node_modules/react-native/scripts $ ./ios-install-third-party.sh

如果glog安装失败,请运行以下命令。

$ cd ../third-party/glog-0.3.x $ ./configure

这对我有效,希望也能对您有所帮助。


3
这些步骤对我有用:
rm -rf ~/.rncache
rm -rf node_modules/
npm install
npm start

2
如果以上所有答案都不起作用,请检查完整路径中任何目录名,而不仅仅是项目目录名中是否存在空格。在终端中,它接受My Disk作为My\ Disk,但Xcode无法识别。如果它在My Disk目录中,请尝试将其移动到桌面或任何其他名称中没有空格的目录中后再尝试。

0

这是Xcode中的链接问题。您只需要重新链接文件即可。 请按照以下步骤操作:

  1. 打开您项目的根目录,然后打开node-module -> react-native -> React
  2. 在Xcode中打开React.xcodeproj文件。
  3. 您将看到third-party文件夹下缺失的(显示为红色)文件。
  4. 运行React.xcodeproj项目。
  5. 完成后关闭此项目并打开您的项目文件。
  6. 删除驱动器数据 & 清理项目 & 运行。

如果在运行项目后出现链接问题,请确保您已将所有(iOS)产品()添加到Build Phases -> Link Binary With Libraries中的Libraries -> React.xcodeproj -> Products中。


0
如果每个人都尝试通过以下方式解决问题: 打开终端,进入您的项目根文件夹并运行: cd node_modules/react-native/third-party/glog-0.3.4/ 运行配置脚本: ./configure

但仍然没有得到解决方案,那么请前往您的Xcode检查是否缺少任何库。添加该库,然后执行上述步骤。


0

虽然前面提到的答案是正确的,但仍有一些人在苦苦挣扎,因为仅仅配置glog有时并不能解决错误。

在这里,我写了一个详细的解决方案来解决这个问题。

解决方案:在归档期间未找到config.h文件和mutex.h文件

步骤如下:

  1. 删除node_modules目录
  2. 清除缓存
  3. 使用Yarn重新安装包
  4. 安装第三方
  5. 配置Glog
  6. Make & Make install glog

对于所有这些步骤,我在上述文章中分享了命令,因此不再重复。我希望它能解决那些仍在苦苦挣扎的人的问题。


0

配置:错误:不安全的绝对工作目录名称 问题:

-打开终端,进入您的项目根文件夹并运行:

  • cd node_modules/react-native/third-party/glog-0.3.5/ 运行配置脚本:

./configure

出现错误:configure: error: unsafe absolute working directory name

尝试在桌面上创建应用程序,然后从那里运行./configure命令。

请注意,在XCOXE 10和Mojave MAC OS中,我遇到了同样的问题,./configure显示了一些权限问题,我必须将权限“777”设置为包含内部文件夹的项目文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接