当我要为生产而编译IOS应用程序时,出现此错误:'folly/Portability.h' file not found
和echo 'error:this File .../main.jsbundle does not exist. This must be a bug with
我已经搜索了互联网以解决此问题,但无法解决
这是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
这是我的Pod的配置
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
为解决第一个问题('folly/Portability.h'
),我在互联网上发现了此问题(但不起作用)
# 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'
为了解决第二个问题,我发现了这一点:
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets
但它不起作用,它为我产生了另一个错误:
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
这些行必须解决此问题(但不能解决)
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'
有人因为我被困住而可以帮助我
答案 0 :(得分:0)
只需从Pods项目设置中将Folly文件夹拖放到“构建设置”选项卡中的“标题搜索路径”框中,然后重新构建即可。见下面的图片