Các lệnh của Cocoapods không thành công do không có tệp hoặc thư mục như vậy @ dir_initialize - /Users/<username>/.cocoapods/repose (Errno :: ENOENT)


208

Bất cứ ai có thể giúp tôi giải quyết lỗi trong theo dõi ngăn xếp dưới đây? Điều này xảy ra khi tôi chạy bất kỳ podlệnh nào . Tôi đã gỡ cài đặt và cài đặt lại đá quý không có may mắn.

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

CẬP NHẬT : Đã sửa với đề xuất của @ KeithSmile.


8
Bạn có thể thử gỡ bỏ ~/.cocoapodsvới rm -rf ~/.cocoapodsvà chạy pod setuplại.
Keith Smiley

1
@KeithSmiley Tôi đã thử điều đó và vẫn nhận được stacktrace tương tự từ phía trên khi chạy bất kỳ podlệnh nào , bao gồm cả pod setup.
David

4
Vâng, thay vì chạy, pod setupbạn có thể tự sao chép các thông số kỹ thuật repo vào ~/.cocoapods/repos/master. Sau đó, bạn sẽ có thể bỏ qua bước này.
Keith Smiley

Tôi đã sử dụng 'git rm -rf Pods', nhưng git không thực sự xóa thư mục. Đối với những người bị mắc kẹt với điều này, hãy thực hiện 'rm -rf Pods' và sau đó 'cài đặt pod'.
Borzh

Tại sao bạn không chọn câu trả lời với hơn 440 lượt upvote?
Bẩn Henry

Câu trả lời:


472

Nếu thông báo nói rằng bạn đang thiếu một lib:

Tôi gặp vấn đề tương tự và nó đã được sửa sau khi chạy pod setupvà sau đópod install

Nếu thư mục bị thiếu là thư mục ruby ​​bạn có thể làm:

Bạn có thể đã cập nhật đá quý osx hoặc ruby ​​của bạn gần đây và PATH của nó vẫn đang liên kết với phiên bản ruby ​​cũ. Khắc phục bằng:

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

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

Như đã nói bởi @rendel


136
Tự hỏi tại sao điều này không được đề cập trong hướng dẫn bắt đầu của Cốc Cốc
Kevin Reilly

2
Đó là buổi tối của tôi! Cảm ơn bạn!
linh sam

4
+ 1 khi đề cập đến hướng dẫn bắt đầu
csotiriou

Đó là một lỗi đã được sửa, chúng tôi chỉ chờ đợi để đưa ra phiên bản tiếp theo
orta

48

Cocoapods đã gặp sự cố khi kho lưu trữ github của họ bị hỏng và điều này buộc người dùng phải dọn sạch repo cục bộ của họ bằng tay.

Một trích dẫn từ bài đăng trên blog của Cocoapods nêu chi tiết lỗi :

Thật không may, chúng tôi đã gặp phải một lỗi trong libgit2 và chúng tôi sẽ buộc phải đẩy vào kho lưu trữ Thông số kỹ thuật. (Còn được gọi là repo spec 'master'.)

Điều này có ý nghĩa gì với bạn? Chà, về cơ bản, thiết lập CocoaPods của bạn sẽ bị hỏng. Bạn sẽ phải xóa thủ công bất kỳ bản sao cục bộ nào của kho Thông số kỹ thuật và sao chép lại phiên bản mới của kho Thông số kỹ thuật. Bạn có thể làm điều đó với các lệnh sau:

Giải pháp:

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

Chỉ cần chạy các lệnh trên sẽ loại bỏ repo bị hỏng và khởi tạo lại bằng cách sử dụng repo sạch. Xem blogpost được đề cập ở trên để biết thêm thông tin.

Hi vọng điêu nay co ich!


1
@ user3783005, nếu bạn gặp phải lỗi đó, điều đó có nghĩa là cocoapods chưa được cài đặt hoặc không thể tìm thấy 'pod' thực thi ở bất kỳ đâu trên PATHbiến của bạn . sử dụng echo $PATHđể in ra đường dẫn đầy đủ của bạn để bắt đầu quá trình xử lý sự cố.
nghe nhìn

22

Không có gì làm việc cho tôi, tôi phải làm sudo gem install cocoapodsvà điều đó đã làm nên điều kỳ diệu.


Tôi đã phải làm điều này sau khi hoàn thành việc di chuyển thông qua Trợ lý di chuyển.
Jojo Narte

21

Tôi đã có vấn đề tương tự. Tôi đã xóa thư mục Pods và chạy lại cài đặt pod. Vấn đề được giải quyết.


Cảm ơn vì điều đó ! Bạn đã cứu tôi vài lần quý giá :)
CyberDandy

8

Đã thử rất nhiều thứ và cách khắc phục duy nhất đối với tôi là nói

brew install cocoapods

và sau đó

brew link --overwrite cocoapods

Bây giờ nó có vẻ đang hoạt động tốt.


1
Điều này làm việc cho tôi sau khi tôi làm hỏng cài đặt của mình bằng cách nào đó. Cảm ơn!
Bia Aleks

7

Đôi khi nó xảy ra khi sử dụng ký tự dấu nháy sai trong Podfile hoặc trong Podspec

nhập mô tả hình ảnh ở đây

Các dấu nháy đơn này được mặc định khi sử dụng ứng dụng TextEdit tiêu chuẩn trên OS X. Tôi thích Văn bản cao siêu hơn để tránh các lỗi như vậy


1
Hãy nhớ rằng, khi sử dụng kỹ thuật 'thông số kỹ thuật riêng tư', cocoapods có thể sao chép Podspec riêng tư cục bộ của bạn vào một thư mục có tên "./Your_Private_Subspec_Name/Pods/Local Podspecs". Vì vậy, sau khi sửa podspec ban đầu, bạn nên xóa các thư mục "Podspecs cục bộ" đó, vì cocoapods có thể không cập nhật các bản sao chính xác
Tim

3

GIẢI PHÁP NHANH

Một cách tốt để giải quyết vấn đề này là vào thư mục được chỉ định và kiểm tra tệp bị thiếu (đôi khi nó ở đó nhưng ở định dạng hiếm) và xóa tệp. Xóa Podfile.locktập tin

Sau đó thực hiện pod install và mọi thứ sẽ ổn :) bạn không cần xóa tất cả các repos mà Cocoapods đã tải xuống.

Làm xong!


1
ĐIỀU NÀY. Đây là sửa chữa. Đã cài đặt lại cocoapods, được liên kết, tất cả các loại công cụ và không có gì hoạt động cho đến khi tôi vào Finder và xóa các tệp bên trong nhóm bị điên. Ngay cả câu trả lời của riêng tôi từ năm 2018 Oo
Ethan Parker


1

Tôi đã có một lỗi tương tự. Và tôi đã thử "pod setup", không hoạt động. Sau đó, tôi tạo một tập tin giả mà tôi đã nói bị thiếu, và sau đó "pod update", hoạt động.


1

đi tới thư mục dự án và gõ lệnh xuất PATH = $ PATH: $ HOME / Phần mềm / ruby ​​/ bin


0

Tôi gặp vấn đề tương tự, nhưng tôi phải xóa toàn bộ thư mục ./Pods/ trong dự án của mình để có thể tiếp tục (thư mục chứa liên kết tượng trưng đến các tệp từ nhánh khác không bị xóa trên chuyển đổi nhánh)


0

Tôi biết đây là một bài viết cũ hơn, nhưng tôi gặp phải vấn đề này khi di chuyển hoặc xóa tệp .h trong nhóm cục bộ. Hóa ra đây là một vấn đề với v0,38 và giải pháp là cập nhật.

Xem thảo luận về vấn đề Github của nó ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.