Kesalahan pada pemasangan pod

95

Saya memiliki proyek kerja yang menggunakan file pod selama beberapa minggu sekarang. Ketika saya mengetahui bahwa beberapa pod saya telah diperbarui, saya mencoba untuk 'menginstal pod' saat mendapatkan kesalahan aneh ini

    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

posting lain menyarankan menggunakan baris perintah 'rm -rf ~ / .cocoapods' tetapi ini menyebabkan cocoapods saya berhenti bekerja bersama untuk semua proyek sekarang, proyek mana pun yang saya coba 'instal pod' Saya mendapatkan 'Tidak dapat menemukan spesifikasi untuk .. 'kesalahan

[!] Tidak dapat menemukan spesifikasi untuk CorePlot (= 1.3).

Matan Poreh
sumber
Saya mengalami masalah ini setelah saya mengotak-atik dan menghapus direktori kerangka kerja di bawah Pods/direktori.
eremzeit

Jawaban:

234

Jika Anda mendarat di sini pada atau setelah 30 Januari 2014, ada jeda di CocoaPods yang menyebabkan hal ini. Silakan baca posting blog terkait yang ditemukan di sini: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/

atau lakukan:

pod repo remove master
pod setup
Mark Edington
sumber
1
Wow, itu bug yang lumayan. Senang saya menemukan ini hanya dengan sedikit googling.
swilliams
1
Ini memperbaiki masalah spesifikasi pod yang rusak, tetapi perlu diingat Anda mungkin perlu menginstal ulang repo Anda: pod repo tambahkan yourrepo.git
rmooney
2
@AriBraginsky Kyle Fuller menjawab pertanyaan seperti ini di twitter, mungkin ini akan membantu Anda: twitter.com/kylefuller/status/429204211478564865
Mark Edington
1
@AriBraginsky, saya mengalami kesalahan yang sama saat menggunakan 0.2.5. Memperbarui ke 0.2.9 harus memperbaikinya.
dloomb
1
Ini membutuhkan data 700MB yang bagus pada 19 Des 2019. Lakukan ini hanya jika Anda punya waktu dan kecepatan internet yang baik.
iphondroid
104

menyelesaikannya sendiri, triknya adalah menggunakan $sudo rm -rf ~/.cocoapodsuntuk membersihkan repo master cocoapods dan kemudian pod installbekerja tanpa masalah.

berharap ini membantu orang lain yang mengalami masalah ini

Matan Poreh
sumber
Terima kasih terima kasih terima kasih! Saya sakit kepala dengan kesalahan yang serupa dengan Anda. Sekarang semuanya bekerja dengan baik!
Neru
5
Tidak perlu untuk sudoini.
Pieter Jongsma
Anda menyelamatkan hari saya !! Saya mencoba segalanya. Ini berhasil. Terima kasih. @matan poreh
pengguna1899840
18

Perintah satu baris 100% dead-work adalah:

sudo rm -rf ~/.cocoapods && pod setup && pod install

Saya membuat masalah di GitHub traker: # 2185

Dan jawaban resminya adalah:

Ini adalah masalah yang telah diperbaiki oleh @irrationalfab dengan commit CocoaPods / CLAide @ 5e023ab. Jadi perbaikannya akan tersedia di rilis CocoaPods berikutnya. Bersabarlah

skywinder
sumber
16

Jika Anda membutuhkan repo spesifikasi master bersih, Anda dapat mencoba

cd ~/.cocoapods/master
git reset --hard

atau jika Anda menggunakan CocoaPods 0.23+, gunakan ~/.cocoapods/repos/master.

Adam Sharp
sumber
Ini tidak cukup berhasil untuk saya. Saya tidak yakin bagaimana subrepos untuk setiap proyek diatur oleh cocoapods, tetapi hanya memanggil git reset --hardrepo root tidak mengatur ulang perubahan yang telah dibuat ke salah satu repo anak. Saya akhirnya hanya menghapus .cocoapodsdirektori saya dan memulai dari awal, meskipun tidak semua orang berada dalam posisi untuk melakukan ini.
eremzeit
@eremzeit apa yang Anda maksud dengan repo anak?
Adam Sharp
Melakukan ini mungkin juga berhasil untuk Anda: (1) git fetch origin(2) git clean -f(3)git reset --hard origin/master
Shiki
8

Anda harus menghapus salinan lokal apa pun dari repositori Specs secara manual dan menggandakan ulang versi baru dari repositori Specs. Anda dapat melakukannya dengan perintah berikut: $ sudo rm -fr ~/.cocoapods/repos/master $ pod setup

joserock85
sumber
6

ketika proyek saya menjadi besar dan saya memiliki file pod yang besar, saya mengalami masalah ini cukup banyak.

Solusi saya adalah sebagai berikut:

pod repo remove master
pod setup
pod install
Benjamin
sumber
2
Suara negatifnya mungkin karena itu salinan jawaban Mark Edington.
par
2

Anda perlu memperbaiki izin dan pemilik file

$ 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
comonitos
sumber
1
Iya! Itu yang saya butuhkan! Metode lain apa pun hanya membantu sekali "pemasangan pod: operasi. Saat ini semuanya berfungsi dengan baik, terima kasih!
skywinder
2

Wow, yang satu ini benar-benar menyakitkan dan semua orang tampaknya memiliki solusi yang berbeda. Bagi saya, solusi ini berfungsi pada banyak mesin / lingkungan dalam beberapa kesempatan:

Ternyata ada bug psychyang menyebabkan masalah.

sudo gem uninstall psych
sudo gem install psych -v 2.0.0

Ada percakapan panjang di repo CococaPods tentang masalah dan perbaikan ini.

LunaCodeGirl
sumber
0

Hanya untuk membagikan perbaikan saya sendiri untuk masalah ini:

Karena ini adalah masalah git, Anda dapat menggunakan perintah git sederhana untuk menyelesaikannya (Lihat posting @ AdamSharp). Apa yang berhasil bagi saya adalah lari

git clean -d -f

masuk ~/.cocoapods/repos/master. Ini secara rekursif menghapus file dan direktori yang tidak terlacak dari repo. Saya mendorong Anda untuk lari:

git clean -d -f --dry-run

Sebelum Anda benar-benar menjalankan sesuatu sehingga Anda dapat melihat apa yang akan dilakukannya. Jika itu merusak repo master CocoaPods Anda, cukup hapus ~/.cocoapods/repos/masterdan jalankan pod repo update.

Sean Michael Dorian
sumber