少し前に、react-nativeの新しいプロジェクトを開始するたびに、またはモジュールをインストールするたびに、このエラーが表示されます。
'glog/logging.h' file not found
。
私はそれを解決する方法を見つけました
cd node_modules/react-native/third-party/glog-0.3.4
../../scripts/ios-configure-glog.sh
しかし、毎回これを実行するのは非常に退屈です。
ノードの構成が間違っているか、そのようなもののようです
プロジェクトのルートから始めていると仮定します
cd node_modules/react-native/third-party/glog-0.3.4
sh ../../scripts/ios-configure-glog.sh
ios-configure-glog.sh
は./configure
への相対パスを使用するため、最初にこれを変更するか、cdする必要があります。そうしないとエラーになります。
@ jose920405へのすべての小道具!
これらのソリューションのいずれかが機能しない場合は、プロジェクトのパスを確認してください。
プロジェクトパスやディレクトリ名には名前にスペースを含めないでください。デスクトップまたはドキュメントディレクトリにプロジェクトを作成できます。
こんにちは、ios-configure-glog.shからの問題です。0.034ではシミュレータのテストがないため、このファイルを新しいバージョンに置き換える必要があります...
良いコードは
#!/bin/bash
set -e
PLATFORM_NAME="${PLATFORM_NAME:-iphoneos}"
CURRENT_Arch="${CURRENT_Arch}"
if [ -z "$CURRENT_Arch" ] || [ "$CURRENT_Arch" == "undefined_Arch" ]; then
# Xcode 10 beta sets CURRENT_Arch to "undefined_Arch", this leads to incorrect linker arg.
# it's better to rely on platform name as fallback because architecture differs between simulator and device
if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
CURRENT_Arch="x86_64"
else
CURRENT_Arch="armv7"
fi
fi
export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -Arch $CURRENT_Arch -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"
export CXX="$CC"
# Remove automake symlink if it exists
if [ -h "test-driver" ]; then
rm test-driver
fi
./configure --Host arm-Apple-darwin
# Fix build for tvOS
cat << EOF >> src/config.h
/* Add in so we have Apple Target Conditionals */
#ifdef __Apple__
#include <TargetConditionals.h>
#include <Availability.h>
#endif
/* Special configuration for AppleTVOS */
#if TARGET_OS_TV
#undef HAVE_SYSCALL_H
#undef HAVE_SYS_SYSCALL_H
#undef OS_MACOSX
#endif
/* Special configuration for ucontext */
#undef HAVE_UCONTEXT_H
#undef PC_FROM_UCONTEXT
#if defined(__x86_64__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__rip
#Elif defined(__i386__)
#define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip
#endif
EOF
この助けを願っています
info Fetching system and libraries information...
System:
OS: macOS 10.14.6
CPU: (8) x64 Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz
Memory: 680.81 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.8.1 - /usr/local/bin/node
Yarn: 1.17.3 - /usr/local/bin/yarn
npm: 6.10.3 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
IDEs:
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.5 => 0.60.5
npmGlobalPackages:
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
react-native-macos-cli: 2.0.1
=====================================
1. rm -rf node_modules/ && yarn cache clean && yarn install
2. rm -rf ~/.rncache
3. cd node_modules/react-native/scripts
4. ./ios-install-third-party.sh (install folly-2016.10.31.00 double-conversion glog)
5. cd <Your-Project-Folder>/node_modules/react-native/third-party/glog*
6. ./configure
7. Xcode clean (Cmd + Shift + K) and build (react-native run-ios).
./configure
の後に問題が解決しない場合、
古いバージョンのプロジェクトを初期化する
react-native init --version 0.57.1 test2
反応ネイティブのバージョンのリストはこちら
https://facebook.github.io/react-native/versions
その後、Xcodeを開いて、クリーンにし、iphone 6シミュレータでビルドします