Почему команда `pod install` или` pod update pod_name` устанавливает так много файлов? - PullRequest
0 голосов
/ 30 декабря 2018

Я использую динамические ссылки Firebase в своем проекте IOS для реагирования на родную систему.

Cocoapods version --- 1.5.3 xcode version --- 9.4.1

Когда я пытался обновить модуль Firebase/DynamicLinks, используя pod update Firebase/DynamicLinks, он не обновляетсятолько этот модуль, но так много других, наиболее важно, что он не поддерживает реакцию на v0.11.0, и когда я делаю git status, я вижу, что добавленные / измененные файлы превышают 1100.

Кроме того, сборка завершается с ошибкамикак argument list too long.

Я не могу понять, почему это все время происходит с cocoapods.

Я столкнулся с той же проблемой при установке сегмента-io в свой собственный реактивный проект, поэтому япришлось вручную связать проект.

Но динамические ссылки firebase не являются библиотекой javascript, поэтому нет необходимости связывать их вручную.

Может кто-нибудь указать на решение?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Когда я пытался обновить модуль Firebase / DynamicLinks, используя обновление модуля Firebase / DynamicLinks, он обновляет не только этот модуль, но и многие другие ...

По сути, это происходитпотому что Firebase/DynamicLinks зависит от других репозиториев (модулей), что означает, что для обновления Firebase/DynamicLinks необходимо также обновить их зависимости.

В качестве рекомендации вы должны упомянуть -вручную - последняя подходящая версия для вашего проекта;В вашем podfile:

pod `Firebase/DynamicLinks`, 'here is the specific proper version'

Обратите внимание, что без упоминания используемой версии модуля, он должен установить самую последнюю версию, которая может быть , а не подходящей в вашем случае.

0 голосов
/ 30 декабря 2018

Это так, потому что RN podspec очень старый и не обслуживается - Facebook не использует кокаподы.

, чтобы исправить это, добавьте это к своей цели (в Podfile).

pod 'DoubleConversion', :podspec => "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
pod 'Folly', :podspec => "../node_modules/react-native/third-party-podspecs/Folly.podspec"
pod 'glog', :podspec => "../node_modules/react-native/third-party-podspecs/GLog.podspec"
pod 'React', path: '../node_modules/react-native', subspecs: [
  'Core',
  'CxxBridge',
  'RCTAnimation',
  'RCTActionSheet',
  'RCTImage',
  'RCTLinkingIOS',
  'RCTNetwork',
  'RCTSettings',
  'RCTText',
  'RCTVibration',
  'RCTWebSocket',
  'RCTPushNotification',
  'RCTCameraRoll',
  'RCTSettings',
  'RCTBlob',
  'RCTGeolocation',
  'DevSupport'
]
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

Это скажет для cocoapods использовать реагировать нативные и другие необходимые библиотеки из node_nodules - с версиямиопределено в вашем package.json

и в этом сценарии в нижней части Podfile (после целей):

post_install do |installer_representation|
  installer_representation.pods_project.targets.each do |target|
      if target.name == "React"
          target.remove_from_project
      end
  end
end

В будущем планируется улучшить это: https://github.com/react-native-community/discussions-and-proposals/pull/18

...