エラー発生状況
下記の環境下でXcodeでiPhoneシミュレーターにビルドしようとしたところ、Xcode上で突然'glog/logging.h' file not found
が発生しました。
このエラー解消にかなり苦戦したのでその対処法を記載しておきます。レアケースかもしれませんが、誰かのお役に立てたら幸いです。
- react-native:
0.52.0
- Xcode:
10.1
- Node.js:
8.10.0
対処方法
対処した過程を書いていくので、やや冗長かもしれませんがお許しを
まずは'glog/logging.h' file not found
でググると、StackOverflowで'glog/logging.h' file not foundというまさにという質問がヒット。
しかも解決済みっぽかったので早速以下を実行しようと試みると、、、
~> cd node_modules/react-native/third-party/glog-0.3.4 │jest-haste-map: watch error:
cd: The directory 'node_modules/react-native/third-party/glog-0.3.4' does not exist
なぜか対象のファイルがない、、、!
しかもよく調べてみるとthird-party
というディレクトリすら存在しない。
ということで、ひとまずrm -rf node_modules && yarn cache clean && yarn install
してみるも変わらず。
再度ググっていると、Developers - Xcode 10: third-party: 'config.h' file not foundという記事に良さげな解決策が。
Share the steps I solved:
-
rm -rf node_modules/ && yarn cache clean && yarn install
andrm -rf ~/.rncache
- cd node_modules/react-native/scripts
-
./ios-install-third-party.sh
If your network is slow, you can download the packages separately and move them to the rncache folder 1. folly-2016.10.31.00 2. double-conversion-1.1.5 3. glog-0.3.4 4. boost_1_63_0 cd <Your-Project-Folder>/node_modules/react-native/third-party/glog-0.3.4
./configure
- Xcode Clean & Build
この手順で実行しようと試みるも、またしてもthird-party
がない
途方にくれながらふとnode_modules/react-native/scripts
配下を覗いてみると、なぜかここにthird-party
ディレクトリを発見(なぜ?)
ということで以下を実行。
~> cd node_modules/react-native/scripts/third-party/glog-0.3.4
~> ./configure
するとなぜかnode_modules/react-native/third-party
が出来上がったので、以下を実行すると無事エラーが解消されました。
cd <Your-Project-Folder>/node_modules/react-native/third-party/glog-0.3.4
./configure
- Xcode Clean & Build
※ 本当はこの後さらにerror: Build input file cannot be found: '/libfishhook.a'
というエラーも出たのですが、これについては Xcode10アップデート後にreact-nativeのiOSビルドが通らなくなった人向けの記事で書いてくださった方法ですぐに解決しました。
結論、Xcode辛いです...