Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks done
acshi opened this issue Jul 1, 2022 · 0 comments

Comments

@acshi
Copy link

acshi commented Jul 1, 2022

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant