RN升级后未找到`FBLazyVector`的podspec

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RN升级后未找到`FBLazyVector`的podspec相关的知识,希望对你有一定的参考价值。

EDIT:对我来说,解决方案是在升级之前使用以前的PodFile,现在ios应用程序正在运行。

我使用react-native upgrade将RN应用升级到0.59.1(当时是0.57.8),android版本正在运行,但对于ios版本,我被Pod安装卡住,抛出该错误:

[!] No podspec found for `FBLazyVector` in `../node_modules/react-native/Libraries/FBLazyVector几乎所有反应本机依赖性都给出类似的错误,我知道通过逐一注释pod并运行pod install

这是我的Podfile:


# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
 require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target 'MdcIos' do
  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  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'


  pod 'GoogleAnalytics'
  pod 'Firebase/Core'
  pod 'Firebase/Messaging'
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for MdcIos

  pod 'RNLanguages', :path => '../node_modules/react-native-languages'
  pod 'RNIap', :path => '../node_modules/react-native-iap'


  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
  pod 'Fabric', '~> 1.9.0'
  pod 'Crashlytics', '~> 3.12.0'


  pod 'RNBackgroundFetch', :path => '../node_modules/react-native-background-fetch'

  pod 'react-native-orientation', :path => '../node_modules/react-native-orientation'

  pod 'rn-fetch-blob', :path => '../node_modules/rn-fetch-blob'

  pod 'RNReanimated', :path => '../node_modules/react-native-reanimated'


  pod 'RNScreens', :path => '../node_modules/react-native-screens'



  pod 'RNZipArchive', :path => '../node_modules/react-native-zip-archive'

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

  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

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

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




end
post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'react-native-google-maps'
      target.build_configurations.each do |config|
        config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
      end
    end
    if target.name == "React"
      target.remove_from_project
    end
    if target.name == 'yoga'
      target.remove_from_project
      target.build_configurations.each do |config|
          config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'NO'
          config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO'
      end
    end
  end
end

和package.json:


  "name": "MdcIos",
  "version": "0.0.1",
  "private": true,
  "scripts": 
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios/'",
    "build:android": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res --verbose"
  ,
  "dependencies": 
    "@react-native-community/async-storage": "1.6.1",
    "@react-native-community/netinfo": "4.4.0",
    "abortcontroller-polyfill": "^1.4.0",
    "buffer": "5.2.1",
    "i18next": "14.0.1",
    "jetifier": "^1.6.4",
    "moment": "2.24.0",
    "react": "16.8.3",
    "react-i18next": "9.0.8",
    "react-native": "0.59.1",
    "react-native-android-open-settings": "1.3.0",
    "react-native-app-store-review": "0.0.3",
    "react-native-appstore-version-checker": "2.7.2",
    "react-native-background-fetch": "2.6.0",
    "react-native-bottomsheet": "1.9.5",
    "react-native-communications": "2.2.1",
    "react-native-countdown-component": "2.4.0",
    "react-native-device-info": "0.24.3",
    "react-native-elements": "1.2.6",
    "react-native-firebase": "5.2.1",
    "react-native-gesture-handler": "1.2.1",
    "react-native-iap": "2.4.0-beta13",
    "react-native-image-picker": "0.27.2",
    "react-native-image-zoom-viewer": "2.2.26",
    "react-native-keyboard-aware-scroll-view": "0.8.0",
    "react-native-languages": "3.0.2",
    "react-native-loading-spinner-overlay": "1.0.1",
    "react-native-maps": "github:jerolimov/react-native-maps#fix-rn59rc-compile-issues",
    "react-native-material-menu": "0.4.2",
    "react-native-orientation": "3.1.3",
    "react-native-permissions": "1.2.0",
    "react-native-photo-upload": "1.3.0",
    "react-native-picker-select": "6.1.0",
    "react-native-progress": "3.6.0",
    "react-native-reanimated": "1.2.0",
    "react-native-screens": "2.0.0-alpha.1",
    "react-native-simple-radio-button": "2.7.3",
    "react-native-vector-icons": "6.6.0",
    "react-native-zip-archive": "5.0.0",
    "react-navigation": "4.0.0",
    "react-navigation-stack": "1.9.4",
    "react-redux": "6.0.0",
    "react-timer-mixin": "0.13.4",
    "redux": "4.0.4",
    "redux-persist": "6.0.0",
    "rn-fetch-blob": "0.10.15"
  ,
  "devDependencies": 
    "@react-native-community/cli-platform-ios": "3.0.0",
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.49.1",
    "react-test-renderer": "16.6.1"
  ,
  "jest": 
    "preset": "react-native",
    "transform": 
      "^.+\\.(js)$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
    
  


谢谢!

答案

将项目0.59.0升级到0.61.4后,我遇到了同样的错误。更新React本机版本后,项目运行正常。但是某些软件包在新版本的React Native 0.61.4中无法正常工作。因此,我决定将项目从0.61.4 to 0.60.4降级。更改版本后,我的代码不起作用。升级后,更改本机版本的pod文件会导致错误。

我通过以下步骤解决了我的问题,可能有助于解决您的错误。

降级(0.60.4)之后,我的代码不起作用,因为某些pod文件已更改。所以我改变了我的pod文件,就像这样。更改pod文件后,我的代码运行正常。

  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/React'
  pod 'React-DevSupport', :path => '../node_modules/react-native/React'
  pod 'React-fishhook', :path => '../node_modules/react-native/Libraries/fishhook'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  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'

升级(0.61.4)后,我的pod文件看起来像这样

pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  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'

以上是关于RN升级后未找到`FBLazyVector`的podspec的主要内容,如果未能解决你的问题,请参考以下文章

未找到 React/RCTDefines.h' 文件 (RN0.61)

NoMethodError:升级到 rake 11 后未定义方法“last_comment”

错误 CS0012:“ConnectionStringSettings”类型是在升级到 Visual Studio 2015 后未引用的程序集中定义的

升级到 ruby​​ 3 和 rails 6.1 后未定义的方法“file_fixture_path”

GatsbyJS 在初始加载后未加载谷歌字体

Flux 错误:配置无效:升级到 Flux 9.4 和 Typo3 9.5 后未设置“vendorName”