Cli: CocoaPods install error on RN 0.60.0 init

Created on 5 Jul 2019  ·  36Comments  ·  Source: react-native-community/cli

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.
bug init taken ios

Most helpful comment

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.

All 36 comments

It seems like this scenario is only valid for folks without CocoaPods installed or that just installed it now, right? During init we actually ask, if you'd like us to install CocoaPods. Did you get that prompt? I think once we get a confirmation from the user we should also run pod repo update. Otherwise it's unnecessary because we only use local pods in init.

What do you think? Would you like to contribute some improvements to this process? :)

@thymikee I was prompted to install CocoaPods as you described, but it seemed like nothing happened. I left it running for 5-6 minutes. If that process was doing something, is there a way to improve the communication in the user's terminal?

That being said, I am not new to OSS, but a bit new to RN. I will poke around and see if I can see any improvements for the first-timers. 😆

We prompt after ~30s that we're still running, but I think that's only when running pod install. We should definitely have this behavior when installing CocoaPods on the system as well.

I'd really like to avoid running pod repo update before every pod install because that's gonna be slow and in 90% unnecessary in init.

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.

Awesome, go for it!

@thymikee I faced something similar :

due to the unavailability of 'Cocoa Pods' , pod installmay have failed. and I can't remember any Prompt for installing Cocoa Pods.

Now completely unaware of the fact that i'm missing the whole project.xcworkspace, when i ran react-native run-ios build was failing with error : ' file not found'

For beginners this can be confusing to debug !

Wouldn't it be wise to check and notify user that ' xcworkspace missing , please do pod install '.
if so I'm up for making (trying ) a PR .

@m2mathew just published v2.4.0 with a fix for this. Could you verify? Please update the @react-native-community/cli to the latest version to see it.

I'm facing the same issue, v2.4.0 doesn't solve the problem for me, it doesn't even create the project folder.

react-native-cli: 2.0.1
@react-native-community/cli: 2.4.0

@simonepizzamiglio do you mind sharing how the output of running init command looks in your case? Are there any errors logged to terminal?

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

I think that's actually problem with gems/ruby. Are you using some kind of version manager like rvm or anything that would allow you to have multiple ruby versions installed?

Yes I have rvm installed and I'm on ruby v2.5.1p57

@maciejsimka Do you actually know how I could solve this?

@simonepizzamiglio Not sure, I had this problem long time ago with a completely different gem. AFAIR it happens with some version managers when you've installed a gem while using X version of Ruby and try to use said gems while using Y version of ruby, or something along these lines. gem pristine --all may help, but you might want to consult Stack Overflow first, as far as i can see it's quite a 'popular' issue.

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:

``info Installing required CocoaPods dependencies Analyzing dependencies Fetching podspec forDoubleConversionfrom../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec Fetching podspec forFollyfrom../node_modules/react-native/third-party-podspecs/Folly.podspec Fetching podspec forReactfrom../node_modules/react-native/ Fetching podspec forReact-Corefrom../node_modules/react-native/React Fetching podspec forReact-DevSupportfrom../node_modules/react-native/React Fetching podspec forReact-RCTActionSheetfrom../node_modules/react-native/Libraries/ActionSheetIOS Fetching podspec forReact-RCTAnimationfrom../node_modules/react-native/Libraries/NativeAnimation Fetching podspec forReact-RCTBlobfrom../node_modules/react-native/Libraries/Blob Fetching podspec forReact-RCTImagefrom../node_modules/react-native/Libraries/Image Fetching podspec forReact-RCTLinkingfrom../node_modules/react-native/Libraries/LinkingIOS Fetching podspec forReact-RCTNetworkfrom../node_modules/react-native/Libraries/Network Fetching podspec forReact-RCTSettingsfrom../node_modules/react-native/Libraries/Settings Fetching podspec forReact-RCTTextfrom../node_modules/react-native/Libraries/Text Fetching podspec forReact-RCTVibrationfrom../node_modules/react-native/Libraries/Vibration Fetching podspec forReact-RCTWebSocketfrom../node_modules/react-native/Libraries/WebSocket Fetching podspec forReact-cxxreactfrom../node_modules/react-native/ReactCommon/cxxreact Fetching podspec forReact-fishhookfrom../node_modules/react-native/Libraries/fishhook Fetching podspec forReact-jsifrom../node_modules/react-native/ReactCommon/jsi Fetching podspec forReact-jsiexecutorfrom../node_modules/react-native/ReactCommon/jsiexecutor Fetching podspec forReact-jsinspectorfrom../node_modules/react-native/ReactCommon/jsinspector Fetching podspec forglogfrom../node_modules/react-native/third-party-podspecs/glog.podspec Fetching podspec foryogafrom../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

include

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 Seeconfig.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?

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.

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 👍🏽

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

This issue still occurs for me on 2.7.1. I created a new issue here: https://github.com/react-native-community/cli/issues/573

Feel free to close it as a duplicate and move the convo back here if you'd like

@maciejsimka I solved the problem, I switched to node v10.14.2, reinstalled both react-native and rvm, opened xCode to set the command line tools and it also did some updates and not it's working 🎉

I have same error when i run react-native init NewRN ,
I fix step is :

  1. add pod 'boost-for-react-native', :podspec => 'https://raw.githubusercontent.com/react-native-community/boost-for-react-native/master/boost-for-react-native.podspec' in Podfile
  2. pod install
    my Podfile like :
    image

How to fix it? @thymikee

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

yes I tried but same error agin
image

boost-for-react-native that is some people's method to solve this error, then this is right way for me, anyway i want to know why run react-native init have error in react-native 0.60.5

@thymikee i means use boost-for-react-native can solved my error , but i don't know why. if it's not necessary.how to fix it ,can you help ?

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

There was a strange issue with my local environment as well. See how I resolved it here: https://github.com/facebook/react-native/issues/25561#issuecomment-533850473

update gem xcodeproj gem
gem update xcodeproj

I am getting this error. How to fix this

[!] CocoaPods could not find compatible versions for pod "react-native-webview":
In Podfile:
react-native-webview (from ../node_modules/react-native-webview)

Specs satisfying the react-native-webview (from../node_modules/react-native-webview) dependency were found, but they required a higher minimum deployment target.

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 😃

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!!!!

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!!!!

Worked for me as well. Thanks much!!

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 too .
Thanks!~

had the same error
tired what @whenmoon suggested and everything works fine now

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.

thanks

I have the same error as @whenmoon but my command line tools is already set to the version of Xcode I'm using (11.6)

I have the same problem as @PastequeBuild too

Was this page helpful?
0 / 5 - 0 ratings