CocoaPods could not find compatible versions for pod “ReactCommon/jscallinvoker”:

前端 未结 11 2664
清酒与你
清酒与你 2020-12-13 03:30

I just updated to RN v0.62 and running app on iOS gives me following error

!] CocoaPods could not find compatible versions for pod \"ReactCommon/jscallinvoke         


        
相关标签:
11条回答
  • 2020-12-13 03:33

    Making manual adjustments according to https://react-native-community.github.io/upgrade-helper/?from=0.62.2&to=0.63.2 might help.

    You will then have to run the command cd ios && pod install.

    0 讨论(0)
  • 2020-12-13 03:34

    RN 0.63 has dropped support for iOS 9

    So in pod file replace

    • platform :ios, '9.0'*
    • platform :ios, '10.0'*

    and

    • pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
    • pod 'React-callinvoker', :path => "../node_modules/react-native/ReactCommon/callinvoker"

    go to the ios folder in the terminal run

    • pod install
    • run react-native run-ios
    0 讨论(0)
  • 2020-12-13 03:44

    On Upgrade to React Native 0.63.0

    This issue happens to my project after upgrading React Native to version 0.63.0 so for the solution I just remove the Podfile.lock and delete whole the Podfile and add the new content from a fresh install React Native project on the latest version and it means its content should be:

    require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
    require_relative '../node_modules/react-native/scripts/react_native_pods'
    
    platform :ios, '10.0'
    
    target '[YourProjectName]' do
      config = use_native_modules!
      use_react_native!(:path => config["reactNativePath"])
    
      target '[YourProjectName]Tests' do
        inherit! :complete
        # Pods for testing
      end
    
      # Enables Flipper.
      #
      # Note that if you have use_frameworks! enabled, Flipper will not work and
      # you should disable these next few lines.
      use_flipper!
      post_install do |installer|
        flipper_post_install(installer)
      end
    end
    
    target '[YourProjectName]-tvOS' do
      # Pods for [YourProjectName]-tvOS
    
      target '[YourProjectName]-tvOSTests' do
        inherit! :search_paths
        # Pods for testing
      end
    end
    

    Note: it is obvious you should replace your project name with [YourProjectName].

    After it, run npx pod-install command on the root of your project and everything will back on track.

    0 讨论(0)
  • 2020-12-13 03:45

    React-Native is now configuring pods dynamically, so you don't need to list each one anymore;

    use_react_native!(:path => config["reactNativePath"])

    This is what you get from a 63.1 base Podfile:

    require_relative '../node_modules/react-native/scripts/react_native_pods'
    require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
    
    platform :ios, '10.0'
    
    target 'test' do
      config = use_native_modules!
    
      use_react_native!(:path => config["reactNativePath"])
    
      target 'testTests' do
        inherit! :complete
      end
    
    
      use_flipper!
      post_install do |installer|
        flipper_post_install(installer)
      end
    end
    
    target 'test-tvOS' do
    
      target 'test-tvOSTests' do
        inherit! :search_paths
      end
    end
    
    0 讨论(0)
  • 2020-12-13 03:53

    In case anyone is still having issues with React Native Version 0.63.0 then this worked for me

    Updating the callinvoker pod as follows

    pod 'React-callinvoker', :path => "#{rnPrefix}/ReactCommon/callinvoker"
    
    0 讨论(0)
  • 2020-12-13 03:54

    For React native 0.62 version

    So I figure it out

    Replace following line in your Podfile

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

    with

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

    Edit:

    If you have updated to React Native version 0.63

    Delete Podfile.lock from iOS folder. Do npm i

    Open podfile from iOS folder

    Delete everything and copy below contents

    require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
    require_relative '../node_modules/react-native/scripts/react_native_pods'
    
    platform :ios, '10.0'
    
    target 'RNTodo' do
      config = use_native_modules!
      use_react_native!(:path => config["reactNativePath"])
    
      target 'RNTodoTests' do
        inherit! :complete
        # Pods for testing
      end
    
      # Enables Flipper.
      #
      # Note that if you have use_frameworks! enabled, Flipper will not work and
      # you should disable these next few lines.
      use_flipper!
      post_install do |installer|
        flipper_post_install(installer)
      end
    end
    
    target 'RNTodo-tvOS' do
      # Pods for RNTodo-tvOS
    
      target 'RNTodo-tvOSTests' do
        inherit! :search_paths
        # Pods for testing
      end
    end
    

    Replace RNTodo with your own project name, cd to iOS folder in the terminal and do pod install and everything should work

    Also RN 0.63 has dropped support for iOS 9

    0 讨论(0)
提交回复
热议问题