I ran Pod Update in my XCode Project and now my project isn\'t compiling due to duplicate modules being downloaded. Anyone know any solutions?
Looki
Adding to @Dehli's answer, this could happen if:
You have react-native as 'dependency' for a react-native module
Solution: Move react-native to 'peerDependency' in package.json
You've moved to peerDependency and have your application's package-lock.json listing react-native as a dependency to your module
Solution: Delete package-lock.json in your application, clean npm_modules folder and run npm install again
Try:
watchman watch-del-allrm -fr $TMPDIR/react-*erase jest-cache folderrm -rf node_modulesnpm installnpm cache clean && npm start -- --reset-cacheUpdate
Also try to download the latest node js and run npm install -g npm
In my case, because I linked a library by pod, so it auto install react to pods. So I updated my podfile:
target 'MyProject' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
rn_path = '../node_modules/react-native'
pod 'React', path: rn_path, subspecs: [
'Core',
'CxxBridge',
'DevSupport',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
]
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
//Another libraries here
pod 'RNImageTools', :path => '../node_modules/react-native-image-tools-wm'
post_install do |installer|
installer.pods_project.targets.each do |target|
# The following is needed to ensure the "archive" step works in XCode.
# It removes React & Yoga from the Pods project, as it is already included in the main project.
# Without this, you'd see errors when you archive like:
# "Multiple commands produce ... libReact.a"
# "Multiple commands produce ... libyoga.a"
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end
end
end
Then I remove Pods folder and run pod install.
That alls.
remove the "React" folder inside of your "Pod" folder
add this inside of your pod file at the bottom after the last end
post_install do |installer|
installer.pods_project.targets.each do |target|
# The following is needed to ensure the "archive" step works in XCode.
# It removes React & Yoga from the Pods project, as it is already included in the main project.
# Without this, you'd see errors when you archive like:
# "Multiple commands produce ... libReact.a"
# "Multiple commands produce ... libyoga.a"
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end
end
remove your Pods folder and then go
pod install
I just spent some time searching around for a solution and finally found something that worked! I'm not using Firebase, but the discussion here was able to help: https://github.com/invertase/react-native-firebase/issues/414 You have to add two lines to your Podfile.
# Add these to your Podfile
pod 'React', :path => '../node_modules/react-native'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
Then run the following to make sure you reinstall your CocoaPods.
cd ios
rm -rf Pods
pod install