invertase / react-native-firebase

🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
https://rnfirebase.io
Other
11.7k stars 2.22k forks source link

🔥[!] CocoaPods could not find compatible versions for pod "nanopb" when I run 'pod install' #3673

Closed AI913 closed 4 years ago

AI913 commented 4 years ago

Issue

I did yarn add @react-native-firebase/firestore, and then cd ios / && pod install. This issue arose.

Error code:

Adding a custom script phase for Pod RNFBApp: [RNFB] Core Configuration
Detected React Native module pods for RNCMaskedView, RNFBApp, RNFBAuth, RNFBFirestore, RNGestureHandler, RNReanimated, RNScreens, RNVectorIcons, and react-native-safe-area-context
Updating local specs repositories
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "nanopb":
  In Podfile:
    RNFBAuth (from `../node_modules/@react-native-firebase/auth`) was resolved to 7.0.2, which depends on
      Firebase/Auth (~> 6.13.0) was resolved to 6.13.0, which depends on
        FirebaseAuth (~> 6.4.0) was resolved to 6.4.2, which depends on
          FirebaseCore (~> 6.2) was resolved to 6.4.0, which depends on
            FirebaseCoreDiagnostics (~> 1.0) was resolved to 1.3.0, which depends on
              nanopb (~> 1.30905.0)

    RNFBFirestore (from `../node_modules/@react-native-firebase/firestore`) was resolved to 7.0.1, which depends on
      Firebase/Firestore (~> 6.13.0) was resolved to 6.13.0, which depends on
        FirebaseFirestore (~> 1.8.0) was resolved to 1.8.3, which depends on
          nanopb (~> 0.3.901)

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * changed the constraints of dependency `nanopb` inside your development pod `RNFBFirestore`.
   You should run `pod update nanopb` to apply changes you've made.

Project Files

package.json:

{ "name": "FireBaseChat", "version": "0.0.1", "private": true, "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "start": "react-native start", "test": "jest", "lint": "eslint ." }, "dependencies": { "@react-native-community/masked-view": "^0.1.10", "@react-native-firebase/app": "^7.0.1", "@react-native-firebase/auth": "^7.0.2", "@react-native-firebase/firestore": "^7.0.1", "@react-navigation/native": "^5.4.2", "@react-navigation/stack": "^5.3.9", "react": "16.11.0", "react-native": "0.62.2", "react-native-gesture-handler": "^1.6.1", "react-native-paper": "^3.10.1", "react-native-reanimated": "^1.8.0", "react-native-safe-area-context": "^1.0.2", "react-native-screens": "^2.7.0", "react-native-vector-icons": "^6.6.0" }, "devDependencies": { "@babel/core": "^7.9.6", "@babel/runtime": "^7.9.6", "@react-native-community/eslint-config": "^1.1.0", "babel-jest": "^26.0.1", "eslint": "^7.0.0", "jest": "^26.0.1", "metro-react-native-babel-preset": "^0.59.0", "react-test-renderer": "16.11.0" }, "jest": { "preset": "react-native" } }

# N/A

firebase.json for react-native-firebase v6:

# N/A

iOS

Click To Expand

#### `ios/Podfile`: - [ ] I'm not using Pods - [x] I'm using Pods and my Podfile looks like: platform :ios, '9.0' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' def add_flipper_pods!(versions = {}) versions['Flipper'] ||= '~> 0.33.1' versions['DoubleConversion'] ||= '1.1.7' versions['Flipper-Folly'] ||= '~> 2.1' versions['Flipper-Glog'] ||= '0.3.6' versions['Flipper-PeerTalk'] ||= '~> 0.0.4' versions['Flipper-RSocket'] ||= '~> 1.0' pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug' pod 'Flipper', versions['Flipper'], :configuration => 'Debug' pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug' pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug' pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug' pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug' pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug' pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug' pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug' end def flipper_post_install(installer) installer.pods_project.targets.each do |target| if target.name == 'YogaKit' target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '4.1' end end end end target 'FireBaseChat' do pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" pod 'React', :path => '../node_modules/react-native/' pod 'React-Core', :path => '../node_modules/react-native/' pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon" pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true 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' target 'FireBaseChatTests' do inherit! :complete # Pods for testing end use_native_modules! add_flipper_pods! post_install do |installer| flipper_post_install(installer) end end target 'FireBaseChat-tvOS' do target 'FireBaseChat-tvOSTests' do inherit! :search_paths # Pods for testing end end #### `AppDelegate.m`: ```objc // N/A ```

Environment

Click To Expand

**`react-native info` output:** ``` System: OS: macOS 10.15.3 CPU: (4) x64 Intel(R) Core(TM) i5-6360U CPU @ 2.00GHz Memory: 44.75 MB / 8.00 GB Shell: 5.7.1 - /bin/zsh Binaries: Node: 12.16.2 - /usr/local/bin/node Yarn: 1.22.4 - /usr/local/bin/yarn npm: 6.14.4 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: CocoaPods: 1.9.1 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: iOS 13.4, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2 Android SDK: API Levels: 28, 29 Build Tools: 28.0.3, 29.0.3 System Images: android-29 | Google Play Intel x86 Atom Android NDK: Not Found IDEs: Android Studio: 3.6 AI-192.7142.36.36.6392135 Xcode: 11.4.1/11E503a - /usr/bin/xcodebuild Languages: Java: 1.8.0_252 - /usr/bin/javac Python: 3.8.0 - /Users/chiuyiuwah/.pyenv/shims/python npmPackages: @react-native-community/cli: Not Found react: 16.11.0 => 16.11.0 react-native: 0.62.2 => 0.62.2 npmGlobalPackages: *react-native*: Not Found ``` - **Platform that you're experiencing the issue on**: - [ ] iOS - [ ] Android - [x] **iOS** but have not tested behavior on Android - [ ] **Android** but have not tested behavior on iOS - [ ] Both


david-potgieter commented 4 years ago

I faced the same issue, and resolved it by cleaning my Pod lockfile, rm -rf Podfile.lock and then again pod install. In my case I only added the core Firebase module initially, and then added additional modules afterwards. I suspect this caused the mismatch.

AI913 commented 4 years ago

I faced the same issue, and resolved it by cleaning my Pod lockfile, rm -rf Podfile.lock and then again pod install. In my case I only added the core Firebase module initially, and then added additional modules afterwards. I suspect this caused the mismatch.

Hey Thank you David! The error doesn't show up anymore. Thank you.

ehitelrc commented 4 years ago

rm -rf Podfile.lock

Works for me.... Thank you.

phoenixsachin commented 4 years ago

I faced the same issue, and resolved it by cleaning my Pod lockfile, rm -rf Podfile.lock and then again pod install. In my case I only added the core Firebase module initially, and then added additional modules afterwards. I suspect this caused the mismatch.

you saved me on flutter also.

normancarcamo commented 3 years ago

Doesn't work for me anything 😢 sad.

AbdulMateenChughtai commented 3 years ago

Works perfectly for me. Thank you!

kozlowskij commented 3 years ago

Updating the Google-Mobile-Ads-SDK version to the latest in my Podfile solved an instance of the CocoaPods could not find compatible versions for pod "nanopb": error:

pod 'Google-Mobile-Ads-SDK', '~> 7.69.0' (Note that this is the latest version as of this date. It will change in the future)

AbdulMateenChughtai commented 3 years ago

Updating the Google-Mobile-Ads-SDK version to the latest in my Podfile solved an instance of the CocoaPods could not find compatible versions for pod "nanopb": error:

pod 'Google-Mobile-Ads-SDK', '~> 7.69.0' (Note that this is the latest version as of this date. It will change in the future)

Probably because updating the Google-Mobile-Ads-SDK updated your Podfile.lock and the mismatch got resolved.

kozlowskij commented 3 years ago

Updating the Google-Mobile-Ads-SDK version to the latest in my Podfile solved an instance of the CocoaPods could not find compatible versions for pod "nanopb": error: pod 'Google-Mobile-Ads-SDK', '~> 7.69.0' (Note that this is the latest version as of this date. It will change in the future)

Probably because updating the Google-Mobile-Ads-SDK updated your Podfile.lock and the mismatch got resolved.

I had already tried removing the lockfile.

nickmarley001 commented 3 years ago

rm -rf Podfile.lock this worked for me too thank you

mikehardy commented 3 years ago

Yeah - removing the lockfile is (for me) necessary after updating a react-native-firebase version that contains a new underlying firebase-ios-sdk version but I just experienced myself that this is annoying as the next pod install might update other items that were previously locked, and that you did not want to update.

Another way is npx pod-install which is a convenient wrapper for all the normal stop/start troubleshooting people have to do when they install pods and this happens - it will usually be able to get the job done with one command.

KasTasElis commented 3 years ago

Had same problem, thank you @david-potgieter

daoibrahim commented 3 years ago

rm -rf Podfile.lock worked like a charm

kamalesh100 commented 2 years ago

platform :ios, '11.0' in the podfile worked for me.

mikehardy commented 2 years ago

@kamalesh100 note that you need 12.4+ shortly, for current react-native versions (0.69+)