cocoapods-binary-cache
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
Checklist
- [x] Updated the plugin to the latest version
- [x] I've read the Contribution Guidelines
- [x] I've searched for existing GitHub issues
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 forRCT-Folly
from../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec
Fetching podspec forboost
from../node_modules/react-native/third-party-podspecs/boost.podspec
Fetching podspec forglog
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
inbuild/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