React Native 0.75.4 - Pod 安装失败:无效的 `Podfile` 文件:未定义方法 `[]' 为 nil

问题描述 投票:0回答:1

我刚刚将 RN 升级到 0.75.4,并将 cocapods 升级到 1.16.2。 因为,pod 安装失败并显示以下内容:

[!] Invalid `Podfile` file: undefined method `[]' for nil.
 #  from <path>/Podfile:26
 #  -------------------------------------------
 #    project 'project.xcodeproj'
 >    config = use_native_modules!
 #  
 #  -------------------------------------------

我尝试过清除 pod、node_modules、重新安装 cocoapods,但没有任何效果

这是我通过在线 RN 升级帮助工具更新后的 Podfile:https://react-native-community.github.io/upgrade-helper/?from=0.73.8&to=0.75.4

# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
  'require.resolve(
    "react-native/scripts/react_native_pods.rb",
    {paths: [process.argv[1]]},
  )', __dir__]).strip

platform :ios, '13.4'
prepare_react_native_project!

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

# As per react-native-firebase doc
use_frameworks! :linkage => :static
$RNFirebaseAsStaticFramework = true


ENV['USE_HERMES'] = '0'

target 'project' do
  project 'project.xcodeproj'
  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    # Fabric is not compatible with use_frameworks as per react-native-firebase doc
    :fabric_enabled => false,
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  def node_require(script)
    # Resolve script with node to allow for hoisting
    require Pod::Executable.execute_command('node', ['-p',
      "require.resolve(
        '#{script}',
        {paths: [process.argv[1]]},
      )", __dir__]).strip
  end

  node_require('react-native/scripts/react_native_pods.rb')
  node_require('react-native-permissions/scripts/setup.rb')

  # ⬇️ uncomment wanted permissions
  setup_permissions([
    # 'AppTrackingTransparency',
    # 'Bluetooth',
    # 'Calendars',
    # 'CalendarsWriteOnly',
    'Camera',
    # 'Contacts',
    # 'FaceID',
    # 'LocationAccuracy',
    # 'LocationAlways',
    'LocationWhenInUse',
    # 'MediaLibrary',
    # 'Microphone',
    # 'Motion',
    'Notifications',
    # 'PhotoLibrary',
    # 'PhotoLibraryAddOnly',
    # 'Reminders',
    # 'Siri',
    # 'SpeechRecognition',
    # 'StoreKit',
  ])

  pod 'RNSecureStorage', :path => '../node_modules/rn-secure-storage/ios/RNSecureStorage.podspec'

  target 'projectTests' do
    inherit! :complete
    # Pods for testing
  end

  post_install do |installer|
    # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
    react_native_post_install(
          installer,
          config[:reactNativePath],
          :mac_catalyst_enabled => false,
          # :ccache_enabled => true
    )
  end
end
react-native cocoapods podfile
1个回答
0
投票

我通过删除 Podfile 并重新创建它解决了我的问题。我认为该文件可能已损坏或发生其他情况。

© www.soinside.com 2019 - 2024. All rights reserved.