如何修复 pod install 错误 glog 太旧或缺少在 Windows 10 中反应原生 ios

Posted

技术标签:

【中文标题】如何修复 pod install 错误 glog 太旧或缺少在 Windows 10 中反应原生 ios【英文标题】:How to fix pod install error glog is too old or missing react native ios in windows 10 【发布时间】:2020-02-11 01:36:36 【问题描述】:

我想在我的 expo 项目中分离 expo 以在 expo detach 后获得裸反应本机项目我运行 pod install 给我带来这个错误,即在安装 glog 时脚本太旧或丢失

[!] C:/Program Files/Git/usr/bin/bash.exe -c
set -e
#!/bin/bash
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

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

# Prepare exported header include
EXPORTED_INCLUDE_DIR="exported/glog"
mkdir -p exported/glog
cp -f src/glog/log_severity.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/raw_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/stl_logging.h "$EXPORTED_INCLUDE_DIR/"
cp -f src/glog/vlog_is_on.h "$EXPORTED_INCLUDE_DIR/"

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-apple-darwin-strip... no
checking for strip... no
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking for arm-apple-darwin-gcc...  -arch armv7 -isysroot
checking whether the C compiler works... no
/usr/bin/bash: line 24: xcrun: command not found
/usr/bin/bash: line 24: xcrun: command not found
/c/Users/DOZEN/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-aefd1/missing: Unknown `--is-lightweight' option
Try `/c/Users/DOZEN/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-aefd1/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/c/Users/DOZEN/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-aefd1':
configure: error: C compiler cannot create executables
See `config.log' for more details

我使用 react-native: 0.59.10 还有我的 podfile

platform :ios, '10.0'

require_relative '../node_modules/react-native-unimodules/cocoapods'

target 'UdahiliPortal' do
  # Pods for UdahiliPortal
  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'Core',
    'CxxBridge',
    'DevSupport',
    'RCTActionSheet',
    'RCTAnimation',
    'RCTBlob',
    'RCTGeolocation',
    'RCTImage',
    'RCTLinkingIOS',
    'RCTNetwork',
    'RCTSettings',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
  ]

  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
  pod 'RNGestureHandler', :podspec => '../node_modules/react-native-gesture-handler/RNGestureHandler.podspec'
  pod 'RNReanimated', :podspec => '../node_modules/react-native-reanimated/RNReanimated.podspec'
  pod 'RNScreens', :path => '../node_modules/react-native-screens'


  use_unimodules!

end

在 Mac 中我发现你通过

修复了这个错误
sudo xcode-select --switch /Applications/Xcode.app

但这不适用于窗口帮助

【问题讨论】:

你找到解决办法了吗?? 【参考方案1】:

尝试升级一切,ruby npm,yarn 等。

【讨论】:

【参考方案2】:
sudo xcode-select --switch /Applications/Xcode.app

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

【讨论】:

【参考方案3】:

打开/Application/Xcode.app 确保它是Xcode.app。 我有不同版本的 Xcode,所以我将它们保留为 Xcode 11.3.appXcode 12.3.app。 当我重命名我最新的 Xcode 版本时Xcode 12.3.app to Xcode.app 这个命令对我有用

sudo xcode-select --switch /Applications/Xcode.app

这最终解决了我的问题。

【讨论】:

【参考方案4】:

当我将最新的 Xcode 版本 Xcode 12.3.app 重命名为 Xcode.app 时,此命令对我有用

sudo xcode-select --switch /Applications/Xcode.app

【讨论】:

以上是关于如何修复 pod install 错误 glog 太旧或缺少在 Windows 10 中反应原生 ios的主要内容,如果未能解决你的问题,请参考以下文章

如何解决颤振上的 pod install 错误?

如何在 azure devops 构建代理中修复“*pod* 不支持配置文件”

如何解决mac上flutter中的“error running pod install”?

iOS开发中的错误整理,pod文件Install失败

xcode - pod install 出现错误

如何修复 pip install 错误:'EnvironmentError: [Errno 42] Illegal byte sequence'?