cocoapods-binary-cache icon indicating copy to clipboard operation
cocoapods-binary-cache copied to clipboard

"No podspec found for `React-Codegen` in `build/generated/ios`" when running prebuild with React Native 0.69.1

Open acshi opened this issue 2 years ago • 0 comments

Checklist

Issue Description

Command executed

bundle exec pod binary prebuild

What went wrong?

Even with no pods marked as binary, the prebuild fails with error "No podspec found for `React-Codegen` in `build/generated/ios" when normal `pod install` works just fine.

Stack trace

warn Multiple Podfiles were found: ios/Podfile,vendor/bundle/ruby/3.1.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/Podfile. Choosing ios/Podfile automatically. If you would like to select a different one, you can configure it via "project.ios.sourceDir". You can learn more about it here: https://github.com/react-native-community/cli/blob/master/docs/configuration.md
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
❯❯❯ Step: Fetching cache
Fetching cache from [email protected]:Gaia-AI/ios-app-cocoapod-cache.git (branch: master)
From github.com:Gaia-AI/ios-app-cocoapod-cache
 * branch            master     -> FETCH_HEAD
Switched to a new branch 'master'
Unzipping cache: /Users/acshi/.cocoapods-binary-cache/prebuilt-frameworks -> _Prebuild
❯❯❯ Step: Installation
-----------------------------------------
🚀  Prebuild frameworks
-----------------------------------------

Detect implicit dependencies [Codegen] Found FBReactNativeSpec /Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. /Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead. Exclude pods with empty source files: ["FBReactNativeSpec", "React", "boost"]

Validate prebuilt cache Cache validation: hit (0) []

Prebuilding... Fetching podspec for DoubleConversion from ../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec [Codegen] Found FBReactNativeSpec /Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. /Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead. Fetching podspec for RCT-Folly from ../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec Fetching podspec for boost from ../node_modules/react-native/third-party-podspecs/boost.podspec Fetching podspec for glog from ../node_modules/react-native/third-party-podspecs/glog.podspec Installing DoubleConversion (1.1.6) Installing FBLazyVector (0.69.1) Installing FBReactNativeSpec (0.69.1) Installing RCT-Folly (2021.06.28.00-v2) Installing RCTRequired (0.69.1) Installing RCTTypeSafety (0.69.1) Installing React (0.69.1) Installing React-Codegen (0.69.1) Installing React-Core (0.69.1) Installing React-CoreModules (0.69.1) Installing React-RCTActionSheet (0.69.1) Installing React-RCTAnimation (0.69.1) Installing React-RCTBlob (0.69.1) Installing React-RCTImage (0.69.1) Installing React-RCTLinking (0.69.1) Installing React-RCTNetwork (0.69.1) Installing React-RCTSettings (0.69.1) Installing React-RCTText (0.69.1) Installing React-RCTVibration (0.69.1) Installing React-bridging (0.69.1) Installing React-callinvoker (0.69.1) Installing React-cxxreact (0.69.1) Installing React-jsi (0.69.1) Installing React-jsiexecutor (0.69.1) Installing React-jsinspector (0.69.1) Installing React-logger (0.69.1) Installing React-perflogger (0.69.1) Installing React-runtimeexecutor (0.69.1) Installing ReactCommon (0.69.1) Installing Yoga (1.14.0) Installing boost (1.76.0) Installing fmt (6.2.1) Installing glog (0.3.5) /Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest/Pods-BinaryCacheTest.release.xcconfig /Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest/Pods-BinaryCacheTest.debug.xcconfig /Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest-BinaryCacheTestTests/Pods-BinaryCacheTest-BinaryCacheTestTests.release.xcconfig /Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest-BinaryCacheTestTests/Pods-BinaryCacheTest-BinaryCacheTestTests.debug.xcconfig Setting REACT_NATIVE build settings Prebuild frameworks (total 0): [] No changes in prebuild Pod installation complete! There are 34 dependencies from the Podfile and 33 total pods installed.

🤖 Resume pod installation

[Codegen] Found FBReactNativeSpec /Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. /Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead. [!] No podspec found for React-Codegen in build/generated/ios

Environment

Plugin version

0.1.14

Installed CocoaPods plugins

Installed CocoaPods Plugins:
    - cocoapods-binary-cache : 0.1.14 (pre_install and post_install hooks)
    - cocoapods-deintegrate  : 1.0.5
    - cocoapods-plugins      : 1.0.0
    - cocoapods-search       : 1.0.1
    - cocoapods-trunk        : 1.6.0
    - cocoapods-try          : 1.2.0

M1 Macbook Pro on MacOS 12.4, using Ruby 3.1.2 (probably not important), React Native 0.69.1 and React 18.0.0, building for iOS.

Reproducing

Create a new React Native app:

npx react-native init BinaryCacheTest

Modify Gemfile to:

source 'https://rubygems.org'

# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby '3.1.2'

gem "cocoapods-binary-cache", :git => "https://github.com/grab/cocoapods-binary-cache.git", :tag => "0.1.14"
gem 'cocoapods', '~> 1.11', '>= 1.11.2'

And Podfile (just adding the first lines before require_relative and commenting out use_flipper!()):

use_frameworks!
plugin "cocoapods-binary-cache"

config_cocoapods_binary_cache(
  cache_repo: {
    "default" => {
      "remote" => "[email protected]:Example/example.git",
      "local" => "~/.cocoapods-binary-cache/prebuilt-frameworks"
    }
  },
  prebuild_config: "Debug"
)

require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '12.4'
install! 'cocoapods', :deterministic_uuids => false

target 'BinaryCacheTest' do
  config = use_native_modules!

  # Flags change depending on the env values.
  flags = get_default_flags()

  use_react_native!(
    :path => config[:reactNativePath],
    # to enable hermes on iOS, change `false` to `true` and then install pods
    :hermes_enabled => flags[:hermes_enabled],
    :fabric_enabled => flags[:fabric_enabled],
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  target 'BinaryCacheTestTests' 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 the next line.
  # use_flipper!()

  post_install do |installer|
    react_native_post_install(installer)
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
  end
end

Then run:

cd BinaryCacheTest/ios
bundle install
npm install
pod install # works fine
pod binary prebuild # Gives an error
bundle exec pod binary prebuild # Exactly the same as without bundle exec

acshi avatar Jul 01 '22 23:07 acshi