Cocoapods - 'pod install' берет навсегда

Я пытался обновить существующие модули с помощью команды pod install, но на выполнение этой функции требуется бесконечное время.

Подробный режим показывает, что он застрял в следующей строке (навсегда)

Обновление spec repo master

$/usr/bin/git pull --no-rebase --no-commit

После его застревания нет активности сети.

Ответ 1

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

pod repo remove master
pod setup
pod install

Ответ 2

Вы можете запустить

pod install --verbose 

чтобы увидеть, что происходит за кулисами... по крайней мере, вы будете знать, где он застрял (это может быть операция git clone, которая занимает слишком много времени из-за вашей медленной сети и т.д.)

иметь еще лучшее представление о том, почему он, кажется, застрял (беглый многословный может дать вам что-то вроде этого

-> Installing Typhoon (2.2.1)
 > GitHub download
 > Creating cache git repo (~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92)
 > Cloning to Pods folder
       $ /usr/bin/git clone https://github.com/typhoon-framework/Typhoon.git ~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92 --mirror
       Cloning into bare repository '~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92'...

чтобы узнать размер репозитория git, который вы клонируете... если вы клонируете из github.. вы можете использовать этот формат:

/repos/:user/:repo

так, например, чтобы узнать о вышеуказанном типе репо

https://api.github.com/repos/typhoon-framework/Typhoon

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

"size": 94014,

что составляет около 90 МБ. неудивительно, что это займет вечность! (кстати.. к тому времени, когда я написал это.. это только закончилось.. ха!)


обновление: одна распространенная вещь, которую cocoa-стручки делают еще до того, как он начинает загружать зависимости, перечисленные в вашем подфайле, - это загружать/обновлять свое собственное репо (они называют это Настройка основного репозитория Cocoapods.. посмотрите на это:

pod install --verbose

Analyzing dependencies

Updating spec repositories
  $ /usr/bin/git rev-parse  >/dev/null 2>&1
  $ /usr/bin/git ls-remote
  From https://github.com/CocoaPods/Specs.git
  09b0e7431ab82063d467296904a85d72ed40cd73  HEAD
  ..

Плохая новость заключается в том, что если вы выполните описанную выше процедуру, чтобы узнать, насколько велик репо с cocoa-бобами... вы получите это: "size": 614373,.. что очень много.

Таким образом, чтобы получить более точный способ узнать, сколько времени занимает просто установить свое собственное репо. Вы можете настроить главное репо cocoa-стручков отдельно, используя pod setup:

$ pod help setup
Usage:

$ pod setup

  Creates a directory at '~/.cocoapods/repos' which will hold your spec-repos.
  This is where it will create a clone of the public 'master' spec-repo from:

      https://github.com/CocoaPods/Specs

  If the clone already exists, it will ensure that it is up-to-date.

затем запустить pod install

Ответ 3

Возможные решения:

  • Обновление Cocoa Подсистемы могут решить эту проблему.
  • Чистые и свежие пакеты для установки снова

Обновление CocoaPods

Откройте терминал и введите:

$ sudo gem update cocoapods

Переустановить Pods

Шаг 1

Удалите все объекты из вашего проекта (сложная часть):

Вручную

  • Удалите все записи Pods на Фазах сборки вашего проекта (отмеченный красный)

введите описание изображения здесь

  1. Удалить libPods.a в папке Рамки

введите описание изображения здесь

  1. Теперь перейдите в каталог проекта и удалите папку Podfile.lock *, ** Pods и Workspace (удалить из Корзина).

Автоматически использовать Деактивировать CocoaPods

Установить

$ [sudo] gem install cocoapods-deintegrate

Run

$ pod deintegrate

Шаг 2

Здесь мы переходим к установке Pods снова

Изменить ваше местоположение в вашем каталоге

$ cd yourprojectdirectory

Изменить podfile, добавив строки, которые вам нужны

$ open -a Xcode podfile 

или

$ nano podfile

НАКОНЕЦ снова установите модуль

$ pod install

Надеюсь, что это поможет

Ответ 4

Я нашел другой способ решить проблему

pod install --verbose --no-repo-update

он работает для меня.

Ответ 5

Как указано здесь git -remote-http процесс работает в фоновом режиме. Я перешел к этому процессу из Activity Monitor и вышел из этого процесса, возобновил процесс подкачки, который застрял на " Обновление локальных репозиториев спецификаций" после POD INSTALL

Ответ 6

По состоянию на 15 августа 2016 года репо представляет собой массивный файл 2.39 ГБ. Я открыл Монитор активности, чтобы посмотреть, что делает терминал. Он загружал этот огромный файл.

Ответ 7

Просто пройдитесь по шагам ниже:

Скачать https://github.com/CocoaPods/Specs/archive/master.zip

Выполните следующие команды в терминале:

pod setup --verbose

Откройте новую вкладку в терминале и запустите

mv ~/.cocoapods/repos/master/.git ~/tempSpecsGitFolder

откройте master.zip (распакуйте его)

mv Specs-master ~/.cocoapods/repos/master

mv ~/tempSpecsGitFolder ~/.cocoapods/repos/master/.git

cd [папка проекта]

pod install --no-repo-update

Ответ 8

Попробуйте очистить кеш-память CocoaPods, перезагрузить и переустановить все модули, как описано здесь

rm -rf "${HOME}/Library/Caches/CocoaPods"

rm -rf "\`pwd\`/Pods/"

pod update

Ответ 9

Вот что сработало для меня:

  1. Удалить весь контент в ~/.CocoaPods
  2. Удалить существующий Podfile.lock и Pods папку.
  3. Оставьте свой PodFile без изменений.
  4. Запустите sudo gem install cocoapods --verbose
  5. Запустите pod install --verbose

Я рекомендую использовать флаг --verbose, так как Терминал не очень хорош при выполнении командных действий. Подробный вариант очень помогает!

Ответ 10

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

1) Создайте путь к файлам частных спецификаций в вашем репозитории github. Предоставьте этот путь https://github.com/yourpathForspecs.git 'в качестве источника в вашем подкоде.

2) идентифицируйте ВСЕ необходимые вам репозитории и их зависимости (упомянутые в файле podspec.json на cocoapods для этих репозиториев) и получите их файлы podspec.json из cocoapods. добавьте эти файлы podspec.json со своей папкой (скажем, папку последней версии для болтов) в этом хранилище спецификаций.

3) удалите источник < https://github.com/CocoaPods/Specs.git 'в podfile

4) Обновление pod

Это займет значительно меньше времени, так как для этого требуется выборка и загрузка только необходимых вам стручков, а не всего хранилища коко-каподов. В моем случае это сократило время обновления POD с 15-20 минут в среднем до 3-4 минут максимум.

Ответ 11

Процедуры установки поддонов

Первый открытый терминал:

chmod o-w /usr/local

sudo chmod o-w /usr/local

sudo gem install cocoapods

если уже установлен модуль в вашей системе, выполните следующие шаги

sudo gem install cocoapods -V

sudo gem update --system

pod setup

cd /Users/apple/Desktop/Black\&WhiteImageDemo

pod init

open -a Xcode Podfile

pod install

Ответ 12

У меня была такая же проблема, я тогда понял, что еще работает Network Conditioner на "Очень плохой сети". Отвернув это, проблема была решена.

Надеюсь, что это поможет кому-то.

Ответ 14

Я была такая же проблема. После запуска

pod install
Setting up CocoaPods master repo

Iterm2 застрял при настройке CocoaPods.

Я решил проблему, запустив

sudo gem install CocoaPods

Это упоминается на веб-сайте CocoaPods

Ответ 15

Иногда случается со мной, и я просто:

pod clean
pod update --verbose

Ответ 16

Даже я думал то же самое. Если вы откроете Activity Monitor, вы увидите, что он загружает что-то там на имя GIT.

Я нашел этот отзыв полезным.

fooobar.com/info/27915/...