“Böyle bir dosya veya dizin yok @ dir_initialize - /Users/<username>/.cocoapods/repos (Errno :: ENOENT)” nedeniyle Cocoapods komutları başarısız oluyor


208

Birisi aşağıdaki yığın izlemesinde hatayı çözmeme yardımcı olabilir mi? Bu, herhangi bir podkomut çalıştırdığımda oluşur . Ben kaldırıldı ve hiçbir şans ile gem yeniden.

00:44:05-David~/dev/farecast-app (master)$ pod setup
Setting up CocoaPods master repo
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/pathname.rb:422:in `open': No such file or directory @ dir_initialize - /Users/David/.cocoapods/repos (Errno::ENOENT)
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/pathname.rb:422:in `foreach'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/pathname.rb:422:in `children'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/sources_manager.rb:63:in `all'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/user_interface/error_report.rb:127:in `repo_information'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/user_interface/error_report.rb:34:in `report'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/command.rb:63:in `report_error'
    from /usr/local/rvm/gems/ruby-2.1.0@global/gems/claide-0.7.0/lib/claide/command.rb:300:in `handle_exception'
    from /usr/local/rvm/gems/ruby-2.1.0@global/gems/claide-0.7.0/lib/claide/command.rb:274:in `rescue in run'
    from /usr/local/rvm/gems/ruby-2.1.0@global/gems/claide-0.7.0/lib/claide/command.rb:264:in `run'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/command.rb:50:in `run'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/bin/pod:33:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/pod:23:in `load'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/pod:23:in `<main>'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'

GÜNCELLEME : @ KeithSmiley'nin önerisiyle düzeltildi.


8
Eğer kaldırmayı deneyin Can ~/.cocoapodsile rm -rf ~/.cocoapodsve koşma pod setuptekrar.
Keith Smiley

1
@KeithSmiley Bunu denedim ve yine podde dahil olmak üzere herhangi bir komutu çalıştırırken aynı stacktrace'ı yukarıdan aldım pod setup.
David

4
Eh yerine çalışan pod setupel klonlayabilirsiniz gözlük repo içine ~/.cocoapods/repos/master. O zaman bu adımı atlayabilmelisiniz.
Keith Smiley

'Git rm -rf Pods' kullanıyordum, ama git aslında dizini kaldırmıyor. Bu sıkışmış olanlar için 'rm -rf Pods' ve ardından 'pod install' yapın.
Borzh

Cevabı neden 440+ upvotes ile seçmiyorsunuz?
Kirli Henry

Yanıtlar:


472

Mesajda bir lib eksik olduğunuzu söylüyorsa:

Aynı sorunu yaşadım ve çalıştırıldıktan pod setupsonra düzeltildi ve sonrapod install

Eksik dizin ruby ​​dir ise şunları yapabilirsiniz:

Muhtemelen son zamanlarda osx veya yakut taşınızı güncellediniz ve PATH hala eski yakut versiyonuna bağlanıyor. Şununla düzelt:

sudo gem install -n /usr/local/bin ruby

sudo gem install -n /usr/local/bin cocoapods

@Rendel tarafından söylendiği gibi


136
Bunun neden CocoaPods'un başlangıç ​​kılavuzunda belirtilmediğini merak ediyorum
Kevin Reilly

2
Akşam oldu! Teşekkür ederim!
köknar

4
+ 1 başlangıç ​​kılavuzundan bahsettiğiniz için
csotiriou

Sabit bir hata, sadece bir sonraki sürümü çıkarmayı bekliyoruz
orta

48

Cocoapods , github deposunun bozulduğu bir sorunla karşılaştı ve bu da kullanıcıları yerel repolarını manuel olarak temizlemeye zorladı .

Hatayı ayrıntılandıran Cocoapods blog yayınından bir alıntı :

Maalesef libgit2'de bir hatayla karşılaştık ve Şartname deposuna zorla girmeye zorlamamız gerekecek. ('Master' spec repo olarak da bilinir.)

Bunun sizin için anlamı nedir? Temel olarak, CocoaPods kurulumunuz bozulacak. Teknik Özellikler veri havuzunun yerel kopyalarını el ile silmeniz ve Teknik Özellikler veri havuzunun yeni sürümünü yeniden kopyalamanız gerekecektir. Bunu aşağıdaki komutlarla yapabilirsiniz:

Çözüm:

$ sudo rm -fr ~/.cocoapods/repos/master
$ pod setup

Yukarıdaki komutları çalıştırmak, bozuk repoyu kaldıracak ve temiz bir repo kullanarak yeniden başlatacaktır. Daha fazla bilgi için yukarıda belirtilen blog yayınına bakın .

Bu yardımcı olur umarım!


1
@ user3783005, bu hatayı alıyorsanız, bu cocoapod'ların yüklü olmadığı veya yürütülebilir 'pod'ların PATHdeğişkeninizin herhangi bir yerinde bulunamayacağı anlamına gelir . echo $PATHsorun giderme işlemine başlamak için tam yolunuzu yazdırmak üzere kullanın .
radyovisual

22

Hiçbir şey benim için işe yaramadı, zorundaydım sudo gem install cocoapodsve bu sihri yaptı.


Göç Asistanı aracılığıyla bir göçü tamamladıktan sonra bunu yapmak zorunda kaldım.
Jojo Narte

21

Benzer bir sorunum vardı. Pod klasörünü sildim ve pod kurulumunu tekrar çalıştırdım. Sorun çözüldü.


Bunun için teşekkürler ! Beni çok değerli zamanlardan kurtardın :)
CyberDandy

8

Bir sürü şey denedim ve benim için tek düzeltme

brew install cocoapods

ve sonra

brew link --overwrite cocoapods

Şimdi iyi çalışıyor gibi görünüyor.


1
Bir şekilde kurulumumu bozduktan sonra bu benim için çalıştı. Teşekkürler!
Aleks Beer

7

Bazen bir Pod dosyasında veya bir Podspec'te yanlış kesme işareti karakterini kullanırken ortaya çıkar

resim açıklamasını buraya girin

OS X'de standart TextEdit uygulaması kullanılırken bu kesme işaretleri varsayılan değerdir. Bu tür hataları önlemek için Yüce Metin'i tercih ederim


1
'Özel özellikler' tekniğini kullanırken, cocoapod'ların yerel özel Podspec'inizi "./Your_Private_Subspec_Name/Pods/Local Podspecs" adlı bir dizine kopyalayabileceğini unutmayın. Bu nedenle, orijinal podspec'i düzelttikten sonra bu "Yerel Podspecs" dizinlerini daha iyi silebilirsiniz, çünkü cocoapod'lar kopyaları doğru şekilde güncellemeyebilir
Tim

3

HIZLI ÇÖZÜM

Bir iyi bir yol bu sorunu çözmek için eksik dosya için belirtilen klasöre ve kontrol edecek (bazen orada ama nadir bir biçimde) ve silme dosya. Ayrıca Podfile.lockdosyayı kaldır

Sonra yürütmek pod installve her şey iyi olmalı :) Cocoapods indirilen tüm depoları kaldırmanız gerekmez.

Bitti!


1
BU. Bu düzeltmedir. Yeniden yüklenmiş cocoapods, bağlantılı, her türlü malzeme ve hiçbir şey Finder'a girip çılgın olan kapsülün içindeki dosyaları silene kadar işe yaramadı. 2018'den kendi cevabım bile Oo
Ethan Parker


1

Benzer bir hata aldım. Ve "pod kurulumu" nu denedim, çalışmıyor. Sonra eksik söylendi sahte bir dosya oluşturmak ve daha sonra "pod güncelleme" çalışır.


1

proje dizinine gidin ve export export yazın PATH = $ PATH: $ HOME / Yazılım / ruby ​​/ bin


0

Aynı sorunu aldım, ancak devam edebilmek için projemdeki tüm ./Pods/ dizinini silmek zorunda kaldım (dizin, şube anahtarında silinmeyen diğer dallardan dosyalara sembolik bağlantılar içeriyordu)


0

Bunun eski bir gönderi olduğunu biliyorum, ancak yerel bir bölmedeki bir .h dosyasını taşırken veya silerken bu sorunla karşılaştım. Bunun v0.38 ile ilgili bir sorun olduğu ve çözümün güncellenmesi olduğu ortaya çıktı.

Burada Github sorunu tartışmasına bakın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.