1

I just ejected from expo and I am getting this error bellow:

[!] Invalid `Podfile` file: syntax error, unexpected '.'.

 #  -------------------------------------------
 #      installer.pods_project.targets.each do |target|
 >        if (target.name&.eql?('FBReactNativeSpec'))
 #          target.build_phases.each do |build_phase|
 #  -------------------------------------------

I am not sure where the error is. I haven't touched the pod file I think there must have been a syntax error or something . If anyone can help me out It would be very much appreciated. Thank you.

 require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
    require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
    require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules")
    
    platform :ios, '12.0'
    
    require 'json'
    podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {}
    
    target 'Match' do
      use_expo_modules!
      config = use_native_modules!
    
      use_react_native!(
        :path => config[:reactNativePath],
        :hermes_enabled => podfile_properties['expo.jsEngine'] == 'hermes'
      )
    
      # Uncomment to opt-in to using Flipper
      #
      # if !ENV['CI']
      #   use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1')
      # end
    
      post_install do |installer|
        react_native_post_install(installer)
    
        # Workaround `Cycle inside FBReactNativeSpec` error for react-native 0.64
        # Reference: https://github.com/software-mansion/react-native-screens/issues/842#issuecomment-812543933
        installer.pods_project.targets.each do |target|
          if (target.name&.eql?('FBReactNativeSpec'))
            target.build_phases.each do |build_phase|
              if (build_phase.respond_to?(:name) && build_phase.name.eql?('[CP-User] Generate Specs'))
                target.build_phases.move(build_phase, 0)
              end
            end
          end
        end
      end
    
      post_integrate do |installer|
        begin
          expo_patch_react_imports!(installer)
        rescue => e
          Pod::UI.warn e
        end
      end
    
    end

1 Answers1

0

I find a reason for it. if ruby version is less than 2.3, the operate of '&.' cannot be support. so, upgrade your ruby version can solve it.

And if you install cocoapods by brew, the default ruby version is 2.0.x. so that, use 'gem install cocoapods' instead.