cli: CocoaPods install error on RN 0.60.0 init

Environment

System:
    OS: macOS 10.14.5
    CPU: (4) x64 Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz
    Memory: 22.14 GB / 40.00 GB
    Shell: 3.2.57 - /bin/bash
Binaries:
    Node: 10.16.0 - ~/.nvm/versions/node/v10.16.0/bin/node
    Yarn: 1.16.0 - /usr/local/bin/yarn
    npm: 6.9.0 - ~/.nvm/versions/node/v10.16.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
    iOS SDK:
      Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
IDEs:
    Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
    react: 16.8.6 => 16.8.6
    react-native: 0.60.0 => 0.60.0
npmGlobalPackages:
    react-native-cli: 2.0.1

Description

On this machine, this is my first time to install Xcode and CocoaPods followed by React-Native.

The first time I ever ran the react-native init command, I realized that I didn’t have CocoaPods installed. I deleted the new directory created by init, installed CocoaPods and its CLI, and re-ran react-native init.

The install process seemed to be going fine, but after installing many pods, the process exited early with this message.

image

I was able to correct the issue by getting into the newly-created project’s ios directory and running the following commands:

  • pod repo update
  • pod install

This is only a minor annoyance. After I completed the two above commands, I could successfully run the RN project in the iOS simulator. Nice startup UI now, everyone! 🎉

However, for new developers, this could be a roadblock to building applications.

Expected Behavior

I would expect that running react-native init would set up all aspects needed to be able to start development immediately.

Reproducible Demo

  1. Do not have CocoaPods or React-Native installed.
  2. Install a fresh copy of CocoaPods and its CLI.
  3. In your terminal, Install a fresh copy of React-Native version 0.60.0 using npm i -g react-native.
  4. Start a new RN project using react-native init MyProject.
  5. Evaluate the output in the terminal when the init process is installing the necessary pods that are needed for iOS development.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 6
  • Comments: 36 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Fixed with this - Open Xcode and go to Xcode → Preferences → Locations, and make sure the command line tools is set to the version of Xcode you’re using.

uninstall react-native worked for me

Fixed with this - Open Xcode and go to Xcode → Preferences → Locations, and make sure the command line tools is set to the version of Xcode you’re using.

Solved my issue … Thanks 👍🏽

I’d like to claim this one, if nobody is working on it.

I removed CocoaPods gem and ~/.cocoapods on my machine to see how completely fresh installation looks like and I’d add logger to CocoaPods installation step - previous step use it, this one doesn’t and it looks a bit jarring. I imagine I’d think something is broken seeing basically nothing happen for a while.

As for the prompt after ~30s, I think it’s done for CocoaPods installation here, but I don’t see anything like that for pod install.

Fixed with this - Open Xcode and go to Xcode → Preferences → Locations, and make sure the command line tools is set to the version of Xcode you’re using.

Life saver this worked for me thanks a lot!!!

I don’t know why you need boost-for-react-native, it’s not necessary. Have you tried running pod install --repo-update?

Fixed with this - Open Xcode and go to Xcode → Preferences → Locations, and make sure the command line tools is set to the version of Xcode you’re using.

It worked, thanks 😃

I think there’s an issue with your local env. I haven’t seen anybody else experiencing this.

@thymikee Issue tested and fixed on newest CLI (2.7.1). Thanks!

What ever I try to fix in the Cocoapods installation, and even with updating the repo, when I use react-native init I get this error:

Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
Fetching podspec for `Folly` from `../node_modules/react-native/third-party-podspecs/Folly.podspec`
Fetching podspec for `React` from `../node_modules/react-native/`
Fetching podspec for `React-Core` from `../node_modules/react-native/React`
Fetching podspec for `React-DevSupport` from `../node_modules/react-native/React`
Fetching podspec for `React-RCTActionSheet` from `../node_modules/react-native/Libraries/ActionSheetIOS`
Fetching podspec for `React-RCTAnimation` from `../node_modules/react-native/Libraries/NativeAnimation`
Fetching podspec for `React-RCTBlob` from `../node_modules/react-native/Libraries/Blob`
Fetching podspec for `React-RCTImage` from `../node_modules/react-native/Libraries/Image`
Fetching podspec for `React-RCTLinking` from `../node_modules/react-native/Libraries/LinkingIOS`
Fetching podspec for `React-RCTNetwork` from `../node_modules/react-native/Libraries/Network`
Fetching podspec for `React-RCTSettings` from `../node_modules/react-native/Libraries/Settings`
Fetching podspec for `React-RCTText` from `../node_modules/react-native/Libraries/Text`
Fetching podspec for `React-RCTVibration` from `../node_modules/react-native/Libraries/Vibration`
Fetching podspec for `React-RCTWebSocket` from `../node_modules/react-native/Libraries/WebSocket`
Fetching podspec for `React-cxxreact` from `../node_modules/react-native/ReactCommon/cxxreact`
Fetching podspec for `React-fishhook` from `../node_modules/react-native/Libraries/fishhook`
Fetching podspec for `React-jsi` from `../node_modules/react-native/ReactCommon/jsi`
Fetching podspec for `React-jsiexecutor` from `../node_modules/react-native/ReactCommon/jsiexecutor`
Fetching podspec for `React-jsinspector` from `../node_modules/react-native/ReactCommon/jsinspector`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Fetching podspec for `yoga` from `../node_modules/react-native/ReactCommon/yoga`
Downloading dependencies
Installing DoubleConversion (1.1.6)
Installing Folly (2018.10.22.00)
Installing React (0.60.4)
Installing React-Core (0.60.4)
Installing React-DevSupport (0.60.4)
Installing React-RCTActionSheet (0.60.4)
Installing React-RCTAnimation (0.60.4)
Installing React-RCTBlob (0.60.4)
Installing React-RCTImage (0.60.4)
Installing React-RCTLinking (0.60.4)
Installing React-RCTNetwork (0.60.4)
Installing React-RCTSettings (0.60.4)
Installing React-RCTText (0.60.4)
Installing React-RCTVibration (0.60.4)
Installing React-RCTWebSocket (0.60.4)
Installing React-cxxreact (0.60.4)
Installing React-fishhook (0.60.4)
Installing React-jsi (0.60.4)
Installing React-jsiexecutor (0.60.4)
Installing React-jsinspector (0.60.4)
Installing boost-for-react-native (1.63.0)
Installing glog (0.3.5)
[!] /bin/bash -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... strip
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for arm-apple-darwin-gcc... /Library/Developer/CommandLineTools/usr/bin/cc -arch armv7 -isysroot
checking whether the C compiler works... no
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos'
/Users/tombelton/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-1f3da/missing: Unknown `--is-lightweight' option
Try `/Users/tombelton/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-1f3da/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
configure: error: in `/Users/tombelton/Library/Caches/CocoaPods/Pods/External/glog/2263bd123499e5b93b5efe24871be317-1f3da':
configure: error: C compiler cannot create executables
See `config.log' for more details

(node:97167) UnhandledPromiseRejectionWarning: Error: Failed to install CocoaPods dependencies for iOS project, which is required by this template.
Please try again manually: "cd ./ReactNativeRingTest/ios && pod install".
CocoaPods documentation: https://cocoapods.org/
    at installPods (/Users/tombelton/Dropbox/code/ReactNativeRingTest/node_modules/@react-native-community/cli/build/tools/installPods.js:148:13)
    at processTicksAndRejections (internal/process/task_queues.js:89:5)
(node:97167) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:97167) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 

I don’t even want to develop for iOS. Any ideas anyone?

This is without the v2.4.0 Screenshot 2019-07-11 at 19 08 31

And this is with the v2.4.0, but I think the error is the same Screenshot 2019-07-11 at 19 12 36