【问题标题】:Error when installing Cocoapods in React Native project在 React Native 项目中安装 Cocoapods 时出错
【发布时间】:2021-07-11 19:03:43
【问题描述】:

我试图将 CocoaPods 手动安装到我的 React Native 项目中

  1. 修复 XCode 中的命令行工具路径。

  2. 在项目目录中手动创建ios文件夹。

  3. 手动安装 CocoaPods,但这是我得到的错误:

    [!] /bin/bash -c 
    set -e
    #!/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
    
    # 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/"
    
    /bin/bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
    

【问题讨论】:

标签: xcode react-native cocoapods


【解决方案1】:

在 Sublime Text 编辑器中打开文件 node_modules/react-native/scripts/ios-configure-glog.sh,使用 View > Line Endings > Mac OS 9 更改行尾,保存并尝试 pod install,它可以工作。注意:当您更改为 Unix 行结尾时它不起作用,因此必须以崇高文本或其他工具的某些等效 mac 行结尾为 Mac OS 9。

如果您想要更好的解决方案或有关该问题的更多信息,请参阅https://github.com/facebook/react-native/issues/28217

【讨论】:

    猜你喜欢
    • 2022-11-07
    • 2022-11-26
    • 2021-06-12
    • 2018-10-07
    • 2021-09-06
    • 2013-11-13
    • 1970-01-01
    相关资源
    最近更新 更多