Ошибка при установке pod
У меня есть рабочий проект, который в течение нескольких недель использует файл подкачки. Когда я узнал, что некоторые из моих модулей имеют обновление, я попытался установить "pod install" на эту странную ошибку.
Analyzing dependencies
[!] Pod::Executable pull
Updating 1337455..e9f6e93
error: The following untracked working tree files would be overwritten by merge:
AeroGear-Push/0.7.0/AeroGear-Push.podspec
AeroGear/1.2.0/AeroGear.podspec
BrynKit/1.3.0/BrynKit.podspec
BrynKit/1.3.1/BrynKit.podspec
CSURITemplate/0.3/CSURITemplate.podspec
EXiLE/1.0.2/EXiLE.podspec
FlurrySDK/4.2.3/FlurrySDK.podspec
FoundationExtension/0.39.1/FoundationExtension.podspec
FoundationExtension/0.39/FoundationExtension.podspec
GCDObjects/0.0.1/GCDObjects.podspec
HTAutocompleteTextField/1.2.1/HTAutocompleteTextField.podspec
HTAutocompleteTextField/1.2.2/HTAutocompleteTextField.podspec
HTAutocompleteTextField/1.2/HTAutocompleteTextField.podspec
IDMPhotoBrowser/1.1.2/IDMPhotoBrowser.podspec
Igor/0.5.0/Igor.podspec
KFOpenWeatherMapAPI/0.2.0/KFOpenWeatherMapAPI.podspec
NGSegmentedViewController/0.1.1/NGSegmentedViewController.podspec
PPiFlatSegmentedControl/1.3/PPiFlatSegmentedControl.podspec
PiwikTracker/2.0.0/PiwikTracker.podspec
SDWebImage/3.4/SDWebImage.podspec
libwbxml/0.11.2/libwbxml.podspec
wbxml/0.0.1/wbxml.podspec
Please move or remove them before you can merge.
Aborting
другой пост, предлагаемый с помощью командной строки 'rm -rf ~/.cocoapods'
но это привело к тому, что мои кокоаподы перестали работать вместе для всего проекта
теперь, когда-либо проект, я пытаюсь установить "pod install". Я получаю сообщение "Невозможно найти спецификацию для.."
[!] Невозможно найти спецификацию для CorePlot (= 1.3)
.
Ответы
Ответ 1
Если вы приземлились здесь или после 30 января 2014 года, произошел перерыв в CocoaPods, вызвавший это. Пожалуйста, прочитайте связанное сообщение в блоге, которое находится здесь: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/
или do:
pod repo remove master
pod setup
Ответ 2
решил это самостоятельно
трюк состоял в том, чтобы использовать $sudo rm -rf ~/.cocoapods
, чтобы очистить мастер-репо cocoapods, а затем pod install
работал без проблем.
надеюсь, что это поможет другим людям, столкнувшимся с этой проблемой
Ответ 3
100-процентная однострочная команда:
sudo rm -rf ~/.cocoapods && pod setup && pod install
Я создал проблему для трейдера GitHub: # 2185
И официальный ответ:
Это проблема, которая уже была исправлено с помощью @irrationalfab с фиксацией CocoaPods/CLAide @5e023ab. Поэтому исправление должно быть доступно в следующей версии CocoaPods. Просто будьте терпеливы
Ответ 4
Если вам нужен чистый мастер-репозиторий, вы можете попробовать
cd ~/.cocoapods/master
git reset --hard
или если вы используете CocoaPods 0.23+, используйте ~/.cocoapods/repos/master
.
Ответ 5
Вам придется вручную удалить любые локальные копии репозитория Specs и повторно клонировать новую версию репозитория Specs. Вы можете сделать это со следующими командами:
$ sudo rm -fr ~/.cocoapods/repos/master
$ pod setup
Ответ 6
когда мои проекты становятся большими, и у меня большой файл подкачки, я сталкиваюсь с этой проблемой совсем немного.
Мое решение таково:
pod repo remove master
pod setup
pod install
Ответ 7
Вам нужно исправить разрешения и файлы владельца
$ sudo chown -R user ~/Library/Caches/CocoaPods
$ sudo chown -R user ./Pods
$ sudo chown -R user ./Podfile.lock
$ sudo chmod -R 777 ./Pods
$ pod update/setup
Ответ 8
Ничего себе, это была настоящая боль, и все, похоже, имеют другое решение. Для меня это решение несколько раз работало на нескольких машинах/средах:
По-видимому, есть ошибка с psych
, которая вызывает проблему.
sudo gem uninstall psych
sudo gem install psych -v 2.0.0
Там длительный разговор поверх репо CococaPods о проблеме и этом исправлении.
Ответ 9
Просто чтобы поделиться своим собственным исправлением для этой проблемы:
Поскольку это проблема git, вы можете использовать простые команды git для ее устранения (см. пост @AdamSharp). Для меня работала
git clean -d -f
в ~/.cocoapods/repos/master
. Это рекурсивно удаляет любые нереакционные файлы и каталоги из репо. Я призываю вас запустить:
git clean -d -f --dry-run
Прежде чем вы на самом деле выполните что-либо, чтобы вы могли видеть, что он будет делать. Если он нарушит репозиторий Master CocoaPods, просто удалите ~/.cocoapods/repos/master
и запустите pod repo update
.
Ответ 10
Вы можете попробовать это так.
pod spec lint --sources = 'https://git.oschina.net/yourname/jqcpodspec,https://github.com/CocoaPods/Specs' --allow-warnings --use-libraries
если проверка соответствия спецификации, затем
pod repo push JQCPodSpec FMCommonModelLib.podspec --sources = 'https://git.oschina.net/yourname/jqcpodspec,https://github.com/CocoaPods/Specs' --allow-warnings --use-libraries