40 votes

Nom du module en double: react-native

J'ai couru Pod Update dans mon Projet XCode et maintenant, mon projet n'est pas de la compilation en raison de dupliquer les modules en cours de téléchargement. Quelqu'un sait toutes les 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.

Mise à JOUR: J'ai supprimé mon node_modules le dossier et package.lock.json et a couru npm install mais le problème est toujours là

EDIT:

Ajouter 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/"
    ]
  }
}

Mise à JOUR

L'exécution npm install donne une erreur bizarre

> fsevents@1.2.4 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

> grpc@1.10.1 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 grpc@1.10.1 and node@10.1.0 (node-v64 ABI, unknown) (falling back to source compile with node-gyp)

151voto

Dehli Points 1143

Je viens de passer un certain temps à chercher partout une solution et enfin trouvé quelque chose qui a fonctionné! Je ne suis pas à l'aide de Firebase, mais la discussion 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 les opérations suivantes pour vous assurer que vous réinstallez votre CocoaPods.

cd ios
rm -rf Pods
pod install

3voto

MohamadKh75 Points 910

Essayer:

  1. watchman watch-del-all
  2. rm -fr $TMPDIR/react-*
  3. erase jest-cache folder
  4. rm -rf node_modules
  5. npm install
  6. npm cache clean && npm start -- --reset-cache

Mise à jour

Essayez également de télécharger le dernier nœud js et exécutez npm install -g npm

1voto

Cyrus Zei Points 228

supprimer le dossier "React" à l'intérieur de votre dossier "Pod"

ajoutez ceci à l'intérieur de votre fichier pod en 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 accédez à pod install

0voto

TheJoker Points 31

Ajout à la réponse de @ Dehli, cela pourrait se produire si:

  1. Vous avez react-native comme «dépendance» pour un module react-native

    Solution: déplacez React-Native vers «peerDependency» dans package.json

  2. Vous avez migré vers peerDependency et avez package-lock.json de votre application répertoriant react-native comme une dépendance à votre module

    Solution: supprimez package-lock.json dans votre application, nettoyez le dossier npm_modules et exécutez à nouveau npm install

0voto

Dans mon cas, car j'ai lié une bibliothèque par pod, donc 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X