J'ai exécuté Pod Update
dans mon projet XCode et maintenant mon projet n'est pas en cours de compilation en raison du téléchargement de modules en double. Quelqu'un connait des solutions?
Looking for JS files in
/Users/.../App/Finalv2
Metro Bundler ready.
Loading dependency graph...jest-haste-map: @providesModule naming collision:
Duplicate module name: react-native
Paths: /Users/.../App/Finalv2/node_modules/react-native/package.json collides with /Users/.../App/Finalv2/ios/Pods/React/package.json
This warning is caused by a @providesModule declaration with the same name across two different files.
Loading dependency graph, done.
PDATE: J'ai supprimé mon dossier node_modules
et package.lock.json
et ai exécuté npm install
, mais le problème est toujours là.
EDIT:
Ajout de mon Package.json
{
"name": "sample-app",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@expo/vector-icons": "^6.2.2",
"art": "^0.10.1",
"axios": "^0.17.1",
"expo": "^24.0.2",
"firebase": "^4.6.0",
"lodash": "^4.17.4",
"moment": "^2.19.3",
"native-base": "^2.3.3",
"prop-types": "^15.6.0",
"react": "^16.3.1",
"react-native": "^0.55.3",
"react-native-camera": "^0.10.0",
"react-native-circular-progress": "git+https://github.com/kk1429/react-native-circular-progress.git",
"react-native-countdown-circle": "^2.0.0",
"react-native-country-picker-modal": "^0.5.1",
"react-native-device-info": "^0.13.0",
"react-native-easy-grid": "^0.1.16",
"react-native-elements": "^0.18.5",
"react-native-fcm": "^11.2.0",
"react-native-fetch-blob": "^0.10.8",
"react-native-firebase": "^4.1.0",
"react-native-linear-gradient": "^2.4.0",
"react-native-linkedin": "^1.2.1",
"react-native-material-ui": "^1.19.0",
"react-native-navigation": "^1.1.471",
"react-native-progress": "^3.4.0",
"react-native-pull-refresh": "^1.0.0",
"react-native-rename": "^2.2.2",
"react-native-svg": "^5.4.2",
"react-native-svg-animated-linear-gradient": "^0.1.8",
"react-native-swiper": "^1.5.13",
"react-native-tag-input": "git+https://github.com/kk1429/react-native-tag-input.git",
"react-native-thumbnail-video": "0.0.8",
"react-native-vector-icons": "^4.4.2",
"react-native-video": "^2.0.0",
"react-navigation": "^1.0.0-beta.19",
"react-redux": "^5.0.6",
"react-save-refs": "^1.0.2",
"redux": "^3.7.2",
"redux-devtools-extension": "^2.13.2",
"redux-persist": "^5.3.4",
"redux-thunk": "^2.2.0",
"whatwg-fetch": "^2.0.3"
},
"devDependencies": {
"babel-jest": "22.1.0",
"babel-preset-react-native": "4.0.0",
"jest": "22.1.4",
"react-test-renderer": "16.2.0"
},
"jest": {
"preset": "react-native"
},
"rnpm": {
"assets": [
"./assets/fonts/"
]
}
}
UPDATE
Lancer npm install
donne une erreur bizarre
> [email protected] install /Users/.../App/Finalv2/node_modules/fsevents
> node install
[fsevents] Success: "/Users/.../App/Finalv2/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile
> [email protected] install /Users/kaaddevelopers/Documents/Clipme/App/Finalv2/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library
node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.10.1/node-v64-darwin-x64-unknown.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
Je viens de passer du temps à chercher une solution et enfin à trouver quelque chose qui a fonctionné! Je n'utilise pas Firebase, mais la discussion ici a pu aider: https://github.com/invertase/react-native-firebase/issues/414 Vous devez ajouter deux lignes à votre Podfile.
# Add these to your Podfile
pod 'React', :path => '../node_modules/react-native'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
Ensuite, exécutez ce qui suit pour vous assurer de réinstaller vos CocoaPods.
cd ios
rm -rf Pods
pod install
Essayer:
watchman watch-del-all
rm -fr $TMPDIR/react-*
erase jest-cache folder
rm -rf node_modules
npm install
npm cache clean && npm start -- --reset-cache
Mettre à jour
Essayez également de téléchargez le dernier noeud js et exécutez npm install -g npm
Dans mon cas, comme j'ai lié une bibliothèque par pod, l'installation automatique réagit aux pods. J'ai donc mis à jour mon 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
Ensuite, je supprime le dossier Pods
et exécute pod install
. C'est tout.
En ajoutant à la réponse de @ Dehli, cela pourrait se produire si:
Vous avez react-native en tant que 'dépendance' pour un module react-native
Solution: déplacer le contenu réactif natif vers 'peerDependency' dans package.json
Vous avez migré vers peerDependency et la liste package-lock.json de votre application a réagi-native en tant que dépendance de votre module.
Solution: supprimez package-lock.json dans votre application, nettoyez le dossier npm_modules et exécutez à nouveau npm install
.
supprimez le dossier "React" à l'intérieur de votre dossier "Pod"
ajoutez ceci à l'intérieur de votre fichier pod au bas après le dernier 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
supprimez votre dossier Pods
puis allez à pod install