Mojave + Xcode 10 构建在 glog config.h、gflags/gflags.h 上失败



我正在Mac OS Mojave和Xcode 10上测试React Native 0.56.0-rc.2。

运行:

react-native init TestProject --version="0.56.0-rc.2"
cd TestProject
npm run start
react-native run-ios

这产生了一些长时间的错误。

输入 Xcode 让我在缺少 glogconfig.h时失败,我发现可以手动构建:

cd ./node_modules/react-native/third-party/glog-0.3.4
./configure && make && make install

它通过了那个阶段,但让我想到了另一个问题

(...)/node_modules/react-native/third-party/glog-0.3.4/src/glog/logging.h:85:10:
'gflags/gflags.h' file not found

我在 Google 或 Stack Overflow 上找不到任何与 RN 和这个相关的内容,只有对其他软件包的引用以及在基于 Debian 的系统上安装这些软件包的说明。

这是一个已知问题吗?

从项目目录运行它为我修复了它:

cd ./node_modules/react-native/third-party/glog-0.3.4 && ../../scripts/ios-configure-glog.sh

这将手动触发配置脚本

一个简单快速的解决方案。 在 Xcode 中,转到"文件>项目/工作区"设置。 将生成系统更改为旧版本系统。

这是卫斯理链接的解决方案。前几天看到了一些关于发布直接答案并试图避免链接的东西,因为链接/网站可能会改变。我打算将其作为评论,但没有足够的代表。

更新

这是一个已知问题,在此处跟踪:

https://github.com/facebook/react-native/issues/19774

我通过运行以下步骤解决了它

  • 在项目的根目录中,运行npm install or yarn- 安装包
  • cd node_modules/react-native- 转到节点模块目录
  • scripts/ios-install-third-party.sh- 安装 @ node_modules/react-native/第三方
  • cd third-party- 转到新创建的第三方目录
  • cd glog-0.3.x- ls -la 查找您的目录版本号或仅使用 tab 键自动完成(
  • ./configure- 运行安装程序
  • cd ../../../../- 更改回项目目录react-native run-iosreact-native run-android- 部署

如果这些解决方案中的任何一个不起作用,请检查您的项目路径。 项目路径和/或目录名称不应包含任何 空格,或者您可以在桌面或文档中创建项目 目录。

由于项目路径中的名称无效,React Native 项目无法在项目/工作空间内链接/添加 glob 头文件。

最新更新