javascript - hur man löser problemet med "folly/Portability.h" och "Fil .../main.jsbundle finns inte" i React Native?


När jag vill kompilera min IOS-applikation för produktion får jag detta fel som dyker upp: 'folly/Portability.h' fil hittades inte och echo 'fel:denna fil .../main.jsbundle existerar inte. Detta måste vara ett fel med Jag har sökt på Internet för att lösa detta problem men jag kan inte lösa det

här är informationen om react-native:

  React Native Environment Info:
System:
  OS: macOS 10.14.4
  CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
  Memory: 38.35 MB / 8.00 GB
  Shell: 3.2.57 - /bin/bash
Binaries:
  Node: 10.15.0 - /usr/local/bin/node
  npm: 6.9.0 - /usr/local/bin/npm
  Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
  iOS SDK:
    Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
  Android SDK:
    API Levels: 21, 22, 24, 25, 26, 27, 28
    Build Tools: 25.0.0, 26.0.0, 26.0.2, 26.0.3, 27.0.1, 27.0.3, 28.0.3
    System Images: android-18 | Google APIs Intel x86 Atom, android-19 | Google APIs Intel x86 Atom, android-22 | Google APIs Intel x86 Atom, android-24 | Google APIs Intel x86 Atom, android-25 | Google APIs ARM EABI v7a, android-25 | Google APIs Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-28 | Intel x86 Atom_64, android-28 | Google Play Intel x86 Atom
IDEs:
  Android Studio: 3.4 AI-183.5429.30.34.5452501
  Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
  react: 16.6.3 => 16.6.3 
  react-native: ^0.59.6 => 0.59.6 
npmGlobalPackages:
  react-native-cli: 2.0.1
  react-native-rename: 2.4.1

här är konfigurationen av mina Pods

platform :ios, '9.0'

target 'AppXYZ' do

  # Pods for AppXYZ

  # Required by RNFirebase
  pod 'Firebase/Core', '~> 5.15.0'
  pod 'Firebase/Messaging', '~> 5.15.0'

  pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-community/async-storage'
  pod 'react-native-netinfo', :path => '../node_modules/@react-native-community/netinfo'

  pod 'React', :path => '../node_modules/react-native'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
  pod 'RNGestureHandler', :path => '../node_modules/react-native-gesture-handler'
  # Third party deps podspec link
  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

  target 'AppXYZTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

För att lösa det första problemet ('folly/Portability.h') jag hittade på internet detta (men det fungerar inte)

      # Third party deps podspec link
  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

och för att lösa det andra problemet hittade jag detta: react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets men det fungerar inte, det genererar ett annat fel för mig:

Loading dependency graph...error jest-haste-map: Haste module naming collision:
  Duplicate module name: react-native
  Paths: .../ios/Pods/React/package.json collides with .../node_modules/react-native/package.json

dessa rader måste lösa detta problem (men det löser det inte)

  pod 'React', :path => '../node_modules/react-native'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
  pod 'RNGestureHandler', :path => '../node_modules/react-native-gesture-handler'

någon kan hjälpa mig eftersom jag sitter fast

Svar #1

dra bara & släpp Folly-mappen till rutan "Header Search Paths" i fliken Build Settings från Pods projektinställningar och bygg om. se bild nedan

sök rubrik sökvägsinställning