Perintah Cocoapods gagal karena “Tidak ada file atau direktori tersebut @ dir_initialize - /Users/<username>/.cocoapods/repos (Errno :: ENOENT)”


208

Adakah yang bisa membantu saya menyelesaikan kesalahan dalam jejak tumpukan di bawah ini? Ini terjadi ketika saya menjalankan podperintah apa pun . Saya telah mencopot dan menginstal ulang permata tanpa hasil.

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>'

UPDATE : Diperbaiki dengan saran @ KeithSmiley.


8
Bisakah Anda mencoba menghapus ~/.cocoapodsdengan rm -rf ~/.cocoapodsdan menjalankan pod setuplagi.
Keith Smiley

1
@KeithSmiley Saya mencobanya dan masih mendapatkan stacktrace yang sama dari atas ketika menjalankan podperintah apa pun , termasuk pod setup.
David

4
Nah bukannya berjalan pod setupAnda dapat secara manual clone spesifikasi repo ke ~/.cocoapods/repos/master. Maka Anda harus dapat melewati langkah ini.
Keith Smiley

Saya menggunakan 'git rm -rf Pods', tetapi git tidak benar-benar menghapus direktori. Bagi mereka yang terjebak dengan ini, lakukan 'rm -rf Pods' dan kemudian 'pod install'.
Borzh

Mengapa Anda tidak memilih jawabannya dengan 440+ upvotes?
Dirty Henry

Jawaban:


472

Jika pesan mengatakan Anda kehilangan lib:

Saya mendapat masalah yang sama dan diperbaiki setelah berjalan pod setupdan kemudianpod install

Jika direktori yang hilang adalah direktori ruby ​​yang dapat Anda lakukan:

Anda mungkin telah memperbarui osx atau permata ruby ​​Anda baru-baru ini dan PATH-nya masih terhubung ke versi ruby ​​yang lama. Perbaiki dengan:

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

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

Seperti yang dikatakan oleh @rendel


136
Bertanya-tanya mengapa ini tidak disebutkan dalam panduan persiapan CocoaPods
Kevin Reilly

2
Itu membuat malamku! Terima kasih!
fir

4
+1 untuk menyebutkannya ke panduan memulai
csotiriou

Its bug tetap, kami hanya menunggu untuk mendapatkan versi berikutnya keluar
orta

48

Cocoapods memiliki masalah ketika repositori github mereka menjadi rusak, dan ini memaksa pengguna untuk membersihkan repo lokal mereka secara manual.

Kutipan dari posting blog Cocoapod yang merinci kesalahan :

Sayangnya kami telah menemukan bug di libgit2 dan kami harus mendorong paksa ke repositori Specs. (Juga dikenal sebagai repo spec 'master'.)

Apa artinya ini bagi Anda? Yah, pada dasarnya pengaturan CocoaPods Anda akan rusak. Anda harus menghapus salinan lokal dari repositori Specs secara manual dan mengkloning kembali versi baru repositori Specs. Anda dapat melakukannya dengan perintah berikut:

Solusinya:

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

Cukup menjalankan perintah di atas akan menghapus repo rusak dan menginisialisasi ulang menggunakan repo bersih. Lihat blogpost yang disebutkan di atas untuk informasi lebih lanjut.

Semoga ini membantu!


1
@ user3783005, jika Anda mendapatkan kesalahan itu, berarti cocoapod tidak diinstal, atau 'pod' yang dapat dieksekusi tidak dapat ditemukan di mana pun pada PATHvariabel Anda . gunakan echo $PATHuntuk mencetak path lengkap Anda untuk memulai proses pemecahan masalah.
Radiovisual

22

Tidak ada yang berhasil untuk saya, saya harus melakukannya sudo gem install cocoapodsdan itu berhasil.


Saya harus melakukan ini setelah menyelesaikan migrasi melalui Asisten Migrasi.
Jojo Narte

21

Saya memiliki masalah serupa. Saya menghapus folder Pods dan menjalankan instal pod lagi. Masalah terpecahkan.


Terima kasih untuk ini ! Anda menyelamatkan saya beberapa saat berharga :)
CyberDandy

8

Mencoba banyak hal dan satu-satunya perbaikan untuk saya katakan

brew install cocoapods

lalu

brew link --overwrite cocoapods

Sekarang tampaknya berfungsi dengan baik.


1
Ini bekerja untuk saya setelah saya mengacaukan instalasi saya entah bagaimana. Terima kasih!
Aleks Beer

7

Kadang-kadang terjadi ketika menggunakan karakter tanda kutip salah di Podfile atau di Podspec

masukkan deskripsi gambar di sini

Apostrof itu default ketika menggunakan aplikasi TextEdit standar pada OS X. Saya lebih suka Sublime Text untuk menghindari kesalahan tersebut


1
Perlu diingat, bahwa ketika menggunakan teknik 'spesifikasi pribadi', cocoapods dapat menyalin Podspec pribadi lokal Anda ke direktori yang disebut "./Your_Private_Subspec_Name/Pods/Local Podspecs". Jadi, setelah memperbaiki podspec asli Anda sebaiknya menghapus direktori "Local Podspecs" itu, karena cocoapods mungkin tidak memperbarui salinan dengan benar
Tim

3

SOLUSI CEPAT

Cara yang baik untuk menyelesaikan masalah ini adalah pergi ke folder yang ditentukan dan memeriksa file yang hilang (kadang-kadang ada tetapi dalam format yang langka) dan menghapus file. Hapus jugaPodfile.lock file

Kemudian jalankan pod installdan semuanya akan baik-baik saja :) Anda tidak perlu menghapus semua repo yang telah diunduh Cocoapods.

Selesai!


1
INI. Ini perbaikannya. Instal ulang cocoapods, ditautkan, semua jenis barang dan tidak ada yang berhasil sampai saya masuk ke Finder dan menghapus file di dalam pod yang gila. Bahkan jawaban saya sendiri dari 2018 Oo
Ethan Parker


1

Saya mendapat kesalahan serupa. Dan saya mencoba "pengaturan pod", tidak bekerja. Lalu saya membuat file palsu yang saya diberitahu hilang, dan kemudian "pembaruan pod", berfungsi.


1

buka direktori proyek dan ketik perintah export PATH = $ PATH: $ HOME / Software / ruby ​​/ bin


0

Saya mendapat masalah yang sama, tetapi saya harus menghapus seluruh direktori ./Pods/ dalam proyek saya untuk dapat melanjutkan (direktori berisi symlink ke file dari cabang lain yang tidak dihapus pada switch cabang)


0

Saya tahu ini adalah posting yang lebih lama, tetapi saya mengalami masalah ini ketika memindahkan atau menghapus file .h di pod lokal. Ternyata ini adalah masalah dengan v0.38 dan solusinya adalah memperbarui.

Lihat diskusi masalah Github di sini .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.