Unable to find a specification for `ExpoModulesCore` depended upon by `EXApplication`

See original GitHub issue

Summary

Since upgrading expo to SDK 44, I get the following error while running pod install --repo-update:

Unable to find a specification for ExpoModulesCore depended upon by EXApplication

I also upgraded all the other expo packages I was using. I am currently using the following packages and versions:

  • expo: 44.0.5
  • expo-keep-awake: 10.0.1
  • expo-notifications: 0.14.0
  • expo-secure-store: 11.1.0

I am using react-native version 0.67.0.

Is someone also having this problem?

Thank you!

Managed or bare workflow? If you have ios/ or android/ directories in your project, the answer is bare!

bare

What platform(s) does this occur on?

iOS

SDK Version (managed workflow only)

44

Environment

System: OS: macOS 11.2.3 CPU: (8) x64 Intel® Core™ i7-4770HQ CPU @ 2.20GHz Memory: 437.14 MB / 16.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 14.16.0 - /usr/local/bin/node Yarn: 1.22.11 - /usr/local/bin/yarn npm: 7.18.1 - /usr/local/bin/npm Watchman: 2021.11.15.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.2 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4 Android SDK: Not Found IDEs: Android Studio: 4.1 AI-201.8743.12.41.7042882 Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild Languages: Java: 11.0.11 - /usr/bin/javac npmPackages: @react-native-community/cli: Not Found react: Not Found react-native: Not Found react-native-macos: Not Found npmGlobalPackages: react-native: Not Found

Reproducible demo

I get the error while running pod install --repo-update.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:12 (1 by maintainers)

github_iconTop GitHub Comments

10reactions
tj-mccommented, Apr 19, 2022

In my case I faced this error when integrating Expo Modules to a Bare RN 0.67.2 Project. However, the project is a monorepo with multiple targets in the Podfile. This custom structure meant the auto patch failed.

I added this snippet (from the setup guide) to the very end and everything works now.

use_expo_modules!

post_integrate do |installer|
  begin
    expo_patch_react_imports!(installer)
  rescue => e
    Pod::UI.warn e
  end
end
5reactions
pe-johndpopecommented, Mar 1, 2022

EDIT: some findings / background - for my use case is desire to simply use expo-web-browser and get an app with 4 tabs. It seemed like I could simply start up the expo project and quickly eject. This I believe is what the expokit sdk was for - which is deprecated/obsolete. Ejecting seems like a road to horror / or at least unfavourable to get things working. To get around this problem - seems like best to start a new expo project - import/ cherry pick across all the code - and avoid run expo eject. I’m fine with that - it should be noted that running expo run:ios (automatically runs eject) as opposed to yarn run ios which keeps you inside expo. The fixes below are likely to be out of date come sdk 45.

RANDOM RAMBLINGS - TROUBLESHOOTING I’m running node 14 and seeing same problem - if that helps. going to bump to later version.


 npm i -g npm@latest

RUBY -  ruby-2.7.4
expo-cli --version
5.2.0

pod --version
1.11.2
NVM -   v16.14.0

react-native-cli: 2.0.1
expo --version
5.2.0

rm -rf node_modules
yarn upgrade --latest
#Commit this
expo upgrade

✅ The following packages were updated:
@react-native-community/datetimepicker, react-native-safe-area-context, @react-native-async-storage/async-storage, @react-native-picker/picker, expo-font, @react-native-community/netinfo, expo-constants, expo-file-system, expo-updates, @expo/vector-icons, expo-application, react-native-gesture-handler, react-native-screens, expo-asset, expo-keep-awake, expo-web-browser, expo-splash-screen, expo-status-bar, react-native-reanimated, react-native-pager-view, react-native-svg, expo-modules-core, react-native, react, react-dom, jest, typescript, @babel/core, @types/react, react-native-web, @types/react-native, expo

🚨 The following packages were not updated. You should check the READMEs for those repositories to determine what version is compatible with your new set of packages:
@react-native-firebase/analytics, @react-native-firebase/app, @react-navigation/bottom-tabs, @react-navigation/material-bottom-tabs, @react-navigation/native, @react-navigation/native-stack, @react-navigation/stack, @reduxjs/toolkit, @sentry/cli, @sentry/react-native, axios, expo-modules-autolinking, html-entities, moment, react-native-android-open-settings, react-native-app-intro-slider, react-native-chart-kit, react-native-charts-wrapper, react-native-confirmation-code-field, react-native-copilot, react-native-device-info, react-native-dropdown-picker, react-native-elements, react-native-google-places-autocomplete, react-native-linear-gradient, react-native-modal-datetime-picker, react-native-onesignal, react-native-paper, react-native-permissions, react-native-popup-menu, react-native-quick-actions, react-native-step-indicator, react-native-swiper, react-native-tab-view, react-native-vector-icons, react-native-wifi-reborn, react-native-woocommerce-api, react-redux, rn-range-slider, @babel/runtime, @react-native-community/eslint-config, babel-jest, eslint, eslint-config-prettier, eslint-plugin-prettier, metro-react-native-babel-preset, prettier, react-test-renderer

# will downgrade react from 
cd ios
rm -rf Pods
rm Podfile
pod install --repo-update



still no joy.

this is my package.json https://gist.github.com/pe-johndpope/74d330f531d2fed95c997a14a264cb38

UPDATE - still no joy… I’m seeing this with sdk 43…

PARTIALLY WORKING

expo install expo@42.0.5
expo install  react-native@0.63.4
expo doctor --fix-dependencies 

package.json -> “expo”: “42.0.0”, app.json -> “sdkVersion”: “42.0.0”

downgrading to 42 works for now. Need to remove Podfile react_native_post_install

https://stackoverflow.com/questions/66833868/how-do-i-troubleshoot-an-error-with-react-native-and-cocopods-on-a-mac-using-r

UPDATE - FIX you’re gonna need to overhaul your podfile with extra things here’s a comparison to my broken file. https://gist.github.com/pe-johndpope/e34987568454dd3b4b3fc8104122414b


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 'YOURIPHONETARGETNAMEHEREEEEEE🔥' 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
Read more comments on GitHub >

github_iconTop Results From Across the Web

Unable to find a specification for `ExpoModulesCore ...
Command `pod install` failed. └─ Cause: Unable to find a specification for `ExpoModulesCore` depended upon by `Expo`.
Read more >
cocoapods could not find compatible versions for pod
1. CocoaPods could not find compatible versions for pod "razorpay_flutter" when running pod install ; 2. ​ ; 3. This is due to...
Read more >
Expo のビルドで発生する Unable to find a specification for ...
iOS 向けに Expo Build を実行し、expo.dev の Logs を確認すると、Install Pods で Unable to find a specification for UMCore depended upon by ...
Read more >
Unable to find a specification for `React-Core` depended upon ...
Hello, I'm getting this error when trying to instal dependencies on ios folder via pod install: [!] Unable to find a specification for ......
Read more >
Unable to find a specification for `FBSnapshotTestCase - Reddit
This is how my Podfile looks: source 'https://github.com/CocoaPods/Specs.git' # Uncomment the next line to define a global platform for your ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found